我正在尝试使用 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 条记录添加到在另一个表中具有单个外键的数据库中,则看不到好处。