使用EF CodeFirst插入数据的时候,有一个表老是会把主键Id传到数据库中去,因为主键Id是自增的,所以一直报错,其他表却都没问题,不知道什么情况,请问有谁知道是什么原因吗?
主外键关系问题
检查下哪里赋值了
没给赋值,监控到SQL插入的Id是0,也就是默认值
@Frank_Zheng: 把你定义的Entity贴出来看看
@l3oz:
[DataContract(IsReference = true)]
public class RMAReceipt
{
[DataMember]
[Key]
public int Id { get; set; }
[DataMember]
public virtual RMAItem RMAItem { get; set; }
[DataMember]
public int RMAItemId { get; set; }
[DataMember]
public int ReceiptQuantity { get; set; }
[DataMember]
public RmaRequestEnum CustomerRequest { get; set; }
[DataMember]
public bool IsSameAsOrdered { get; set; }
[DataMember]
public bool IsResellable { get; set; }
[DataMember]
public string AdditionalDetail { get; set; }
}
@Frank_Zheng: Id 上面加个[DatabaseGenerated(DatabaseGeneratedOption.Identity)]试试
@l3oz: 试过了
@l3oz: 主要应该不是实体的问题,因为所有表的Id都是从父类继承的,但就这个表有问题
@Frank_Zheng: 看下这张表的schema跟其他表有什么不同么
爆什么错啊,异常信息都没有,我们就能猜到答案吗?
没有配置自增,数据库会有自增吗?