解决方案 »
- AspNetPager分页语句 ,只用我的要求写语句,能搞定就说话,否则别进@!
- 关很郁闷也很急的一个问题。。HELP (实在没分了谢谢各位)
- 求助,FreeTextBox的字体大小问题,FreeTextBox高手请进
- ASP.NET在VS2008里控件拖动问题!
- 一个页面控制另一个页面
- 能不能把calendar的显示都改成英文的,比如星期的显示。。。。
- 如何在满足一定条件时弹出一个提示框确认用户信息?
- 如何让asp.net读取.htm涅?
- 办成此事者,得所放全部分数+处女一名
- 一个页面中有两个DataGrid 另一个无法绑定数据
- 200分不诚敬意 字符串gbk转换
- 网页上查询学生信息状态显示的问题
.Include(x => x.A)主外键的话 A 不会为空的把另外 你不要Using EF 不用关闭 EF会自动关闭的 我通常是开启EF的延迟查询的,当然为了速度会Include因为你可以判断是否为空, 但从数据的角度来说因为主外键是有数据的
现在没有数据 那说明是有问题的
所以我情愿他报异常
举例:A为类别,B为产品,录入产品的时候我们没有选择类别,因此就会出现一个空信息然而在遍历B列表的时候,我们调用B.A的时候,因为A为空,就会出现DBContext已经释放的问题我想要的效果是,如果A为空就是空,不要去数据库查询比如代码:For(var item in BList)
{
if(item.A==null)//通常A为空 在这里就会报错 DBContext已经释放
{
//处理 该产品没有类别
}
else
{
//输出产品类别
}
}我想我不可能吧DBContext 初始化之后就再也不释放么?
我想知道你们遇到的时候怎么处理的
你说的确实在理,但是数据库设计中,外表字段是可为空的,同样也会存在这样的业务,将某些外键为空,他没有对应的主键
(你不要Using EF 不用关闭 EF会自动关闭的 ) 这个也只是仅限于调用DBContext的时候
倘若我们离开了DBContext类库就像现在的MVC 模板上遍历一样@Foreach(var item in BList)
{
if(item.A==null)
{
<span>未绑定</span>
}
else
{
<span>@item.A.Name</span>
}
}这种业务也是很常见的对吧
http://www.cnblogs.com/mecity/archive/2011/07/17/2108508.html而我现在是用IOC
builder.Register(x => new xxxDbContext()).As<IDbContext>().InstancePerRequest();
DBContext的生命周期为一次http请求,不再是根据.net的默认机制 失去引用啊什么的