C#/EF获取随机数据
/// <summary> /// 获取随机推荐的资源 /// </summary> public List<ResourceOutputDto> GetRandomRecommendResources(int count) { var result = new List<ResourceOutputDto>(); Random rd = new Random(); var maxCount = _resourceManager.GetAll().Where(f => f.Status == true).Count(); for (int i = 0; i < count; i++) { var randomCount = rd.Next(...
Model compatibility cannot be checked because the database does not contain model metadata
最近在调试一个EF DEMO的时候出现了这个错误。 出现这个错误一般来讲,在你的数据库或者目录里已经存在了同样名称的数据库了,你必需把它删除。 确保你没有在VS2010中打开连接 也可能是这句的原因: //Database.SetInitializer<SchoolContext>(new SchoolInitializer()); 注释就行了!
EF使用存储过程
ef4.1 没有了edmx等复杂的东西 变得简单 干净 但如何使用存储过程,存储过程可以返回表 可以返回数值 也有可能是执行修改 删除 增加等 该怎么做? 说这个问题前 依然先说下我的观点.个人认为 既然使用orm框架 就应该把业务逻辑等 都放到业务逻辑层 而不应该再使用存储过程。我更偏重重业务逻辑层 轻存储过程这样的开发~ 再ef4.0里 添加存储过程 比较容易 有edmx 调一调 存储过程就添加上了 但是在ef4.1里 只有干净的poco 不再有edmx了 改怎么办呢?尤其是存储过程可以是查表 查值 或者执行修改删除. 一个一个来...
EF执行连接查询
ef4.1执行连接查询?什么时候执行左连接? 什么时候执行内连接? ef 根据什么去判断? 当我们做多表查询时 用Include 强制加载 或用 select 去查询时 发现生成的SQL语句 有时是左连接 有时是inner join。 其实EF是根据我们实体类的连接字段 是否可空来判断的~比如外键 studentID public Nullable<int> StudentID { get; set; } 是否可空 就会造成 是 left join 还是 inner join~~ 补充下~~ 有个朋友说 这个设为空了 依然执行的是内连接啊~ 注意看下你的关系那块 也要设为可空 用这个 HasOptional 而...