使用Entity Framework 5、Visual Studio 2010以及Entity Framework Power Tools(Beta 2)扩展。以下是我的数据库表结构:
我使用了上述扩展中的“Reverse Engineer Code First”功能,它生成了POCO类和一些“映射”文件(不确定是否为正式用语)以及一个单一的DbContext派生类。除了下面描述的更改外,所有这些生成的类都是由Power Tool生成的。
在Category.cs文件中,我添加了以下代码,以帮助简化对象图:
```csharp public class Category { public int CategoryId { get; set; } public string Title { get; set; }
// Added this code to help flatten the object graph a bit: public virtual ICollection Products { get; set; }
public override string ToString() { return string.Format("{0} ({1} products)", Title, Products.Count); } } ```
我收到了以下异常,我知道这一定与映射有关,但我无法完全弄清楚。
如果我需要发布更多信息,例如映射的具体细节,请告诉我,我会做到。我想尽可能保持简短,但我意识到我忽略了一些对于不熟悉工具生成的代码的人来说可能会让他们想要更多细节的东西。
在Category.cs文件中,我添加了以下代码,以帮助简化对象图:
```csharp public class Category { public int CategoryId { get; set; } public string Title { get; set; }
// Added this code to help flatten the object graph a bit: public virtual ICollection Products { get; set; }
public override string ToString() { return string.Format("{0} ({1} products)", Title, Products.Count); } } ```
private ICollection<Product> m_Products = null;
public ICollection<Product> Products
{
get
{
if (m_Products == null)
{
m_Products = new List<Product>();
foreach (var categoryProduct in CategoryProducts)
{
m_Products.Add(categoryProduct.Product);
}
}
return m_Products;
}
set { m_Products = value; }
}
我收到了以下异常,我知道这一定与映射有关,但我无法完全弄清楚。
Unhandled Exception: System.Data.EntityCommandExecutionException: An error occurred while
executing the command definition. See the inner exception for details.
---> System.Data.SqlClient.SqlException:
Invalid column name 'Category_CategoryId'.
如果我需要发布更多信息,例如映射的具体细节,请告诉我,我会做到。我想尽可能保持简短,但我意识到我忽略了一些对于不熟悉工具生成的代码的人来说可能会让他们想要更多细节的东西。