使用外键引用创建新的EF对象,而不加载整个重新引用对象 [英] Create new EF object with foreign key reference without loading whole rereference object

查看:136
本文介绍了使用外键引用创建新的EF对象,而不加载整个重新引用对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个新的EF对象,它引用另一个对象(在我的例子中是aspnet userId),而不加载foreign(key)对象。

I want to create a new EF object which references another object (the aspnet userId in my example) without loading the foreign (key) object.

所以本质上我要执行以下操作:

So essentially I want to do the following:

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();

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

In the bs.aspnet_UsersReference I can't find anything that would help..

解决方案:

aspnet_Users user = new aspnet_Users { UserId = userId };
context.AttachTo("aspnet_Users", user);
set.aspnet_Users = user;


推荐答案

AyKarsi,

看看Alex James EF博客关于使用stub对象的文章,它解释了如何做你想要的。

Have a look at Alex James EF blog post about using stub objects, it explains how to do what you want.

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

希望有帮助,
Nick

Hope that helps, Nick

这篇关于使用外键引用创建新的EF对象,而不加载整个重新引用对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆