我一直在看这个问题。我想在一次通话中保存多个项目。这是我的代码:
public Response<List<Transaction>> SetTransactions(List<Transaction> transactionList)
{
try
{
var responseData = new Response<List<Transaction>>
{
Status = Enums.Status.Success,
DisplayMessage = DisplayMessageConstants.CardTransactionSuccess
};
foreach (var transaction in transactionList)
{
EntityContext.Transactions.Add(transaction);
}
EntityContext.SaveChanges();
return responseData;
}
我在.net 4.5中使用代码优先方法和实体5.0。
我找到了这个问题的几个例子,并且所有这些例子都说明以下情况应该有效:
EntityContext.Transactions.AddObject(交易)。
问题是我似乎没有AddObject选项。我错过了什么?
答案 0 :(得分:0)
看看What is difference between dbcontext.Add and dbcontext.AddObject 您没有获得AddObject选项的原因只是实体框架的事情。我上面提到的答案说,自4.0版以来,这已经发生了变化。您仍然应该使用您发布的代码获得所需的结果,是否会给您一个错误?
答案 1 :(得分:0)
结果 - 代码工作正常 - 数据库表上有一个奇怪的约束,它正在解决所有问题。感谢所有看过并试图提供帮助的人。