使用linq to sql或者EF的遇到的一些常见问题

10年了 感觉一塌糊涂,思考问题的敏锐度不行

 

1、contextItem.Where(item => { return true });

这样写是不行的。

 

 所以说对于复杂的子查询是不行的,必须写sql,以班级为主表查询是否有这名同学的信息

 解决方案

写sql 进行查询

List<UI_DrugTable> ret1 = yuhongxiadataEntities
.Database.SqlQuery<UI_DrugTable>(sql2, new List<object>().ToArray()).ToList();

 

 

这个点,微软很SB,你想啊,这不是为老太太设计的吗?稍微有点脑子,我做点逻辑怎么了 。

 

2、  
Database.SqlQuery<UI_DrugTable> 在执行过程中,里面的属性全是空的,怎么办?

UI_DrugTable的定义如下

 

public class UI_DrugTable
{
public Guid DrugId ;
public string DrugEnglishName; 
public string DrugCommodityName ;
public string DrugCommonName ;

}

 

改造方案,将属性加 get;set即可

public class UI_DrugTable
{
public Guid DrugId { get; set; }
public string DrugEnglishName { get; set; }
public string DrugCommodityName { get; set; }
public string DrugCommonName { get; set; }

}

 3、这行代码报错,说找不到类型

var exp=string.IsNullOrWhiteSpace(DrugCommodityName)?i=>true:i=>i.DrugCommodityName==DrugCommodityName;

我该怎么办?

不知道:

如果有方案,请维护到下面

 

Expression<Func<IngredientTable, bool>> where1 = string.IsNullOrWhiteSpace(IngredientCNName) ? i => true : (Expression<Func<IngredientTable, bool>>)(i => i.IngredientCNName.Contains(IngredientCNName));

 

这是在网上找的方案,需要做转化

 做一次强转化

无法确定条件表达式的类型,因为'lambda expression'和'lambda expression'之间没有隐式转换 - 漫思 - 博客园 (cnblogs.com)

 

4、automapper 如何转义 list泛型的模式,已经不相同类型的转换

目前没有方案,不知道怎么弄

 

5、将linq to sql的东西接口化该如何划分

目前没有方案 不知道怎么弄

 

6、include的场景是什么,什么时候用include的。

目前脑子里不清晰

7、如何使用EF模型

下面是我的总结,在asp.net mvc中如何使用EF

EF 环境配置教程 - 漫思 - 博客园 (cnblogs.com)

 

posted on 2023-02-14 17:33  漫思  阅读(50)  评论(0编辑  收藏  举报

导航