相关疑难解决方法(0)

代码优先:独立协会与外国关键协会?

每次我开始研究一个新项目时,我都会和自己进行一场心理辩论,而我正在设计我的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无需显式地进行连接,这非常方便.

所以回顾一下,我的问题是:

  1. 使用独立关联有任何明显的缺点吗?和...
  2. 如果没有,那么使用外键关联的原因是什么?

entity-framework poco

100
推荐指数
3
解决办法
3万
查看次数

外键与独立关系 - 实体框架5有改进吗?

在使用Entity Framework时,我已经阅读几篇关于外键与独立关系概念的文章和问题.我仍然不能100%确定要走哪条路......我不希望通过拥有一个将在FK关系中使用的属性来"污染"我的域名POCO,因为我已经有了"有一个"的属性引用宾语.

我的问题是(看着你@EFTeam,@ Ladislav Mrnka)

  1. 在即将到来的Entity Framework v5中,这个主题有什么改进吗?
  2. 如果我使用FK而不是独立关联(特别是代码优先),是否有更多的优势?

c# entity-framework ef-code-first

6
推荐指数
1
解决办法
1761
查看次数

EF Code First:多重约束违规

救命!- 我在导航模型ArticleType上收到以下错误:

发生了关系多重性约束违规

这是现有的数据库模式:

数据库模型

这是我的代码:

public class Article
{
    public int ID { get; set; }
    public virtual Stage Stage { get; set; }
    public virtual ArticleType ArticleType { get; set; } // Causes the violation
}

public class ArticleType
{
    public int ID { get; set; }
    public string Title { get; set; }
}

public class Stage
{
    public int ID { get; set; }
    public string Title { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我使用流畅的api进行绘图,这是该协会的摘录

// This …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework fluent-interface code-first

6
推荐指数
1
解决办法
8152
查看次数