在用实体框架添加实体的时候有一个问题,就是当我们添加一个包含引用对象的实体时,是不可以直接调用AddObject()方法的,除非实体本身没有引用任何的其他实体!但一般在项目中很多实体都会引用一个甚至更多的其他的实体,而在实体框架中添加这样的实体,必须先将所有引用对象的实体查询出来,然后在每个引用对象的EntityCollection集合中添加该实体。下面以UserInfo和UserState为例:
UserInfo以用UserState,UserState不引用任何对象;
1.如果我们添加UserState,我们可以直接调用ObjectContext.AddToTableName(object)来添加对象或者调用ObjectContext的AddObject()方法来添加
2.如果我们添加UserInfo的话是不可以直接添加的,而是必须先将UserInfo对应的UserState查询出来,然后通过调用UserState中System.Data.Objects.DataClasses.EntityCollection<UserInfo>的Add()方法将UserInfo添加进去,然后再调用ObjectContext的SaveChanges()方法来完成操作