每次我开始研究一个新项目时,我都会和自己进行一场心理辩论,而我正在设计我的POCO.我看过很多教程/代码示例似乎都支持外键关联:
public class Order
{
public int ID { get; set; }
public int CustomerID { get; set; } // <-- Customer ID
...
}
Run Code Online (Sandbox Code Playgroud)
与独立协会相反:
public class Order
{
public int ID { get; set; }
public Customer Customer { get; set; } // <-- Customer object
...
}
Run Code Online (Sandbox Code Playgroud)
我以前使用过NHibernate,并且使用了独立的关联,它们不仅感觉更多OO,而且(延迟加载)的优势在于可以让我访问整个Customer对象,而不仅仅是ID.例如,这允许我检索Order实例,然后Order.Customer.FirstName无需显式地进行连接,这非常方便.
所以回顾一下,我的问题是:
我以前遇到过关于类继承的问题,并围绕此构建数据库并使用实体框架没有成功.所以我试图在visual studio中创建实体,并查看它自动创建的数据库表.
我有一个Entity MediaItem,它是Abstract和Game继承自此.游戏有一个控制台(Int),对应于ConsoleID.但是,当我生成数据库时,我在MediaItems_Game表中获得了一个额外的不需要的列(ConsoleTypes_ConsoleID).为什么这样,我怎么能防止这种情况发生?谢谢.

database ado.net entity-framework visual-studio-2010 entity-framework-4