我试图弄清楚如何使用 LINQ to Entities 将新记录添加到具有另一个表的外键的表中。我将尝试解释:
假设我有一个带有两个表的简单数据库。例如,让我们调用一个 LibraryItem 和另一个 LibraryItemStatus。LibaryItem 具有指向 LibraryItemStatus 表的外键,因此可以为项目分配状态。
我的问题是如何使用 LINQ To Entities 创建新的 LibraryItem 并将其与状态相关联?我下面的代码一定是错误的,但我找不到任何帮助的例子。
LibraryEntities entities = new LibraryEntities();
LibraryItem item = new LibraryItem();
item.Name = "some name";
item.SomeAttribute = "x";
// What do I do here?
// This seems wrong as I don't want a new status.
item.Status = new Status() { id = 1 };
// This seems wrong as I don't really want to have to query the repository
item.Status = entities.Status.First(s => s.StatusID == 1);
//
entities.AddToItems(item);
entities.Savechanges();