关于 entity framework 导航属性 为null

问题描述

已经发布到iis中运行过程中model的导航属性有时候取不到值而为空,有时候又能取得到。classA{publicvirtualList<C>Clist{get;set;}}Clist有时候为null但实际上数据库是有相关数据的。困扰很久了。

解决方案

解决方案二:
你的C模型里的publicvirsualAA{get;set;}是否有virsual这个修饰符....是否在C模型里加上A的外键...
解决方案三:
引用1楼ayanamireizero的回复:

你的C模型里的publicvirsualAA{get;set;}是否有virsual这个修饰符....是否在C模型里加上A的外键...

改加的都加了正常情况下都是有值的,应该可以排除这种情况,发布后查看错误日志,发现有时候莫名其妙会为空值。
解决方案四:
virtual关键字模型间外键关系的配置context不共享每次用完即销毁延迟加载lazyload的开启等等,都做了。错误经常出现在访问人数较多的情况下。只是怀疑跟连接数相关。但是不知道该如何处理。。。
解决方案五:
试试不用外键去读外键表的数据看看

时间: 2024-11-23 17:29:01

关于 entity framework 导航属性 为null的相关文章

entity framework 如何设置非主键关联的导航属性

问题描述 如产品类别表Category:字段:id(主键).cid.....等等产品表Product:字段:id(主键).cid...等等默认的导航属性:产品id对应类别主键id,现在想产品的cid对应类别非主键的cid.LinQToSQL类可以用AssociationAttribute设置[System.Data.Linq.Mapping.AssociationAttribute(Name="Category_Product",Storage="_Product"

当EF禁用延迟加载及代理时,即使采用Include导航属性仍为null,求解!

问题描述 当EF禁用延迟加载及代理时,即使采用Include导航属性仍为null,求解!假设如下代码:context.Configuration.LazyLoadingEnabled=false;context.Configuration.ProxyCreationEnabled=false;context.set(TEntity).Include(t=>t.Property).ToList();最终TEntity.Property是null,求解!我想实现一次性加载所有内容包含关联属性的值,且

Entity Framework问题:ReferentialConstraint 中的依赖属性映射由存储生成的列

原文:Entity Framework问题:ReferentialConstraint 中的依赖属性映射由存储生成的列 今天在采用Entity Framework 的Database First反向以及用Code First写的数据库表时,在测试时一直出现以下错误: 情况是这样的: 我有两张表,记主表为A,辅表为B(即外键所在的表,设外键为Id,同时也是表B的主键) 这个问题是因为: 我的表B中的键Id不仅是外键,也具有自增属性,即在建表是用Identity标识之.而这两个功能是矛盾的.一方面,

Entity Framework 5.0系列之数据操作

Entity Framework将概念模型中定义的实体和关系映射到数据源,利用实体框架可以将数据源返回的数据具体化为对象:跟踪对象所做的更改:并发处理:将对象更改传播到数据源等.今天我们就一起讨论如何利用Entity Framework进行查询.插入.更新和删除数据. 查询 我们将使用AdventureWorks数据库来进行今天的所有演示,因此开始之前请准备好相应的数据库.在EF中进行查询应该说是相当简单,只需要定义一个类继承于"DbContext",然后定义对应的"DbSe

Entity Framework 关系约束配置

原文:Entity Framework 关系约束配置 前言 简单的说一下自己的理解,大家应该都很明白ADO.NET,也就是原生态的数据库操作,直接通过拼接SQL语句,表与表之间通过链接(inner join  left join  或者子查询),也就是在设计表的时候预先设计好的,通过主外键进行关联.那么现在在Entity Framework中是如何配置处理的呢? Entity Framework 关系约束配置 对于实体关系对应的数据表关系,无非"0:1,1:1,1:N,N:N"这几种,

Entity Framework快速入门--一对零到一关系处理

很久不更新blog了,正好趁着端午节的空,把之前一段时间使用关于EF以及工作上经验总结一下. 此文将跟朋友们分享一下关于1对0..1实体模型一些使用包括基本的添加和查询的注意事项. 首先我们EDMX实体模型: 模型很简单,一个用户的实体,另外关联了一个用户信息的实体.有些情况下我们会有这样的需求,用户登录身份验证,而每次再查询用户信息的时候,往往会去查询用户表,而这时候我们仅仅使用了2-3个字段也就是用户账号跟密码是否一致,如果一致就返回true,否则返回false,而我们往往在用户表上挂在很多

如何解决Entity Framework查询匿名对象后的跨域访问

在Entity Framework中,可以使用lambda表达式进行对数据的查询,而且可以将查询结果直接映射为对象或者对象列表,这极大的提高的开发速度,并且使数据层的数据更加方便处理和传递.但是很多时候,我们不需要把整个表的字段都查出来,如果我们直接把整个数据实体查询出来,就极大的影响了性能,所以我们需要通过查询匿名对象或者已经定义的方式,对数据库进行查询: 1.实例使用的数据实体类: publicclass Category {publicint Id { get; set; }publics

ADO.NET Entity Framework深入分析,Part 6–处理并发(Concurrency Handling)

设置并发模式 Entity Framework 实现了乐观的并发模式(Optimistic Concurrency Model).默认情况下,在实体更新数据提交到数据库时,并不会检查并发.对于高频率的并发属性,你需要设置属性的并发模式为Fixed. 这些属性将会加入到T-SQL脚本的WHERE子句部分,用来比较客户端的值和数据库端的值. 示例代码: public void UpdateProduct() { Product product = context.Product.FirstOrDef

Entity Framework 5.0系列之EF概览

概述 在开发面向数据的软件时我们常常为了解决业务问题实体.关系和逻辑构建模型而费尽心机,ORM的产生为我们提供了一种优雅的解决方案.ADO.NET Entity Framework是.NET开发中一种由ADO.NET驱动的ORM框架,使用Entity Framework开发人员可以不必考虑数据的基础数据表和列,在处理数据时能够以更高的抽象级别进行工作,并能够以相对传统开发编写更少的代码来创建和维护应用程序. 我们知道面向对象的编程与数据存储系统的交换提出了一个难题:类结构通常同关系数据表组织结构