c# - 为什么我不能在单个服务器请求中插入带有外键的记录?

标签 c# entity-framework .net-3.5

我正在尝试使用外键进行简单的插入,但似乎我需要为每个记录插入使用 db.SaveChanges()。我怎样才能设法在这个程序的末尾只使用一个 db.SaveChanges()

public static void Test()
{
    using (var entities = new DBEntities())
    {
        var sale =
            new SalesFeed
            {
                SaleName = "Stuff...",
            };
        entities.AddToSalesFeedSet(sale);

        var phone =
            new CustomerPhone
            {
                CreationDate = DateTime.UtcNow,
                sales_feeds = sale
            };
        entities.AddToCustomerPhoneSet(phone);

        entities.SaveChanges();
    }
}

运行上面的代码后我得到这个异常:

System.Data.UpdateException:更新条目时出错。有关详细信息,请参阅 InnerException。指定的值不是有效常量类型的实例 参数名称:值。

编辑:更改了示例代码并添加了返回的异常。

最佳答案

显然使用 UNSIGNED BIGINT 会导致此问题。当我切换到 SIGNED BIGINT 时,一切都按预期工作。

关于c# - 为什么我不能在单个服务器请求中插入带有外键的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2895598/

相关文章:

c# - 将 int Id 用于 EF6 中的 bigint 列

c# - 如何在 Winform 中获取 IE 版本信息?

c# - 获取数据库的表

c# - 是否可以从 .net 应用程序禁用 c++ 断言

c# - 如何在 EF 代码优先中使用 Fluent API 配置 TPH?

entity-framework - EntityFramework 和 ADO.NET 在一起?

c# - 捕捉/粘性 WPF 窗口

c# - System.Timers.Timer是否使用单独的线程来执行计时器经过的方法

c# - 日历项目更新时发生 Exchange 错误 :- At least one recipient isn't valid

c# - 暂停一个线程直到一个方法和里面的所有线程完成他们的工作?