我有以下结构:
Class A{
Public virtual int Id{get;set;}
[Required]
public virtual string Title { get; set; }
[Required]
public virtual string Body { get; set; }
}
Class B{
Public virtual int Id{get;set;}
[Required]
public virtual string Description{ get; set; }
}
Class C{
public virtual int Id{get;set;}
public virtual int AId {get;set;}
public virtual A A{get;set;}
public virtual int BId {get;set;}
public virtual B B{get;set;}
}
EntityFramework会自动在数据库中创建表并添加引用。
现在在C类中保存数据时,它给我一个或多个实体的验证失败
我已检查过System.Data.Entity.Validation.DbEntityValidationException
并发现它给出错误标题和正文是必需的。如果我通过AId和BId,为什么我需要传递Title和Body。 我还检查了我是否通过了标题和正文,然后它将数据保存在C以及A和B中。我只想保存在C中。
你能指导我做错了吗。
提前致谢。
答案 0 :(得分:0)
请发布实际创建并保存对象的示例代码。
可能是因为A和B是C的属性。为了保存C,EF首先需要保存A和B并将它们以外键关系链接到C.没有A和B就不能拥有C而且你不能保存没有Title和Body的A,因为它们是必填字段。
没有看到更多代码,很难肯定地说。