使用外键引用创建新的EF对象,而不加载整个重新引用对象

AyK*_*rsi 6 entity-framework-4

我想创建一个新的EF对象,它引用另一个对象(在我的示例中为aspnet userId),而不加载外部(键)对象.

所以基本上我想做以下事情:

buskerSet bs = new buskerSet();
bs.Title = title;
bs.Image = image;
bs.Created = DateTime.Now;
//The following will crash, because bs.aspnet_Users is null
bs.aspnet_Users.UserId = userId;

context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

在bs.aspnet_UsersReference中我找不到任何有用的东西..

解:

aspnet_Users user = new aspnet_Users { UserId = userId };
context.AttachTo("aspnet_Users", user);
set.aspnet_Users = user;
Run Code Online (Sandbox Code Playgroud)

小智 7

AyKarsi,

看看关于使用存根对象的Alex James EF博文,它解释了如何做你想做的事情.

提示26 - 如何使用存根实体避免数据库查询

希望有所帮助,尼克