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

Era*_*lel 7 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();
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

Era*_*lel 15

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

  • 我也使用MySQL + UNSIGNED BIGINT. (2认同)