【问题标题】:LinqToEntities and Foreign KeysLinqToEntities 和外键
【发布时间】:2008-11-28 00:10:22
【问题描述】:

我正在尝试使用 LinqToEntities,只是注意到数据模型中没有外键字段。尝试添加记录时,这似乎会造成一些麻烦。

阅读后我发现添加记录时可以执行以下操作(产品在类别表中有一个外键)。

Product myProduct = new Product();
myProduct.ProductName = ProductName;
myProduct.Categories = db.CategorySet.Where(c => c.CategoryID == CategoryID).First();
db.AddToProductSet(myProduct);
db.SaveChanges();

我确信有更好的方法来做到这一点。但我的问题是真的,这是它在 LinqToEntities 中的工作方式吗?在我看来,这比简单地给它一个外键(即 myProduct.CategoryID = categoryid)要复杂得多。

如果我在一个表中有 5 个外键,我将不得不检索 5 个对象才能将它们链接起来?

我可以看到执行上述操作可能有意义并且有好处,但如果您只是尝试将 1 条记录添加到在另一个表中具有单个外键的数据库中,则看不到好处。

【问题讨论】:

    标签: linq-to-entities foreign-key-relationship


    【解决方案1】:

    对于任何刚接触 Linq To Entities 并想知道我所做的事情的人......是的,这就是 Linq To Entities 的样子。你需要引用一个实际的对象,而不是仅仅给出一个外键。

    在我看来,这会对性能产生不利影响,但从我目前所做的来看,性能一点也不差。实际上它比 Linq To SQL 更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 2020-07-07
      相关资源
      最近更新 更多