通常原始代码如下: Where id=Convert.ToInt32(cousid) 更改后代码: Var currentid= Convert.ToInt32(cousid); Wehre id=currentid;…
private sys_User GetUserInfo() { sys_User model = null; var userId = Convert.ToInt32(AccountHelper.GetAccountUserId()); var list = BLLSingleton.Instance.IUserService.GetListBy(c => c.UserId == userId); if (list != null) model = list.FirstOrDefault();…
断点调试发现报错的语句为: public ActionResult SomeMethod(string someId) { var temp = SomeService.LoadEntities(a => a.ID == int.Parse(someId)); } 原因是:在Lambda表达式内部不能实现数据类型转换.解决方法:在使用Lambda表达式之前,先对数据类型进行转换. public ActionResult SomeMethod(string someId) { int tempIn…
if (!string.IsNullOrEmpty(FarmWorkId)) { data = data.Where(p => p.TypeId == Convert.ToInt32(FarmWorkId)); } 解决方法: if (!string.IsNullOrEmpty(FarmWorkId)) { int i = Convert.ToInt32(FarmWorkId); data = data.Where(p => p.TypeId == i); }…
1.LINQ to Entities 不识别方法“System.String get_Item(Int32)”,因此该方法无法转换为存储表达式.项目中发现linq to entities 不识别? ,为何大家都要腰间盘,你的如此突出. Expression<Func<Models.GroupMemberModel, bool>> epression = ep => (ep.GroupId.Equals(gm.GroupId) && ep.MemberId.Eq…
今天本想在linq里按照时间筛选一下超时的数据,一共两个字段FeedBackTime(计划反馈时间).EndTime(实际反馈时间).需求是这样的,查找数据库里所有EndTime大于FeedBackTime,且只计算到日,时分秒就不计算了.也就是说 计划时间和实际时间是同一天或实际时间小于计划时间,那么就认为不是超时的. 开始的时候我使用了下面这种方式: query.Where(c =>c.FeedBackTime > c.EndTime.AddDays(1)); 结果报错: LINQ to…
我的程序里有这么一段代码: order.OrderExpressInfo = (from oei in orderExpressRepository.Entities where oei.OrderId == order.OrderId select new EbcBuy.Bll.Orders.Models.OrderExpress { ContentInfo = oei.ContentInfo, CreatedTime = oei.CreatedTime, CreatedUserId = oe…
var data = DataSource.Skip(iDisplayStart).Take(iDisplayLength).Select(o => new { MatNR = o.MatNR, MatDB = o.MatDB, CreatedOn=o.CreatedOn.ToString(), CreatedBy = o.CreatedBy, Id2 = o.MatNR }); 以上语句就会出现这个提示:LINQ to Entities 不识别方法“System.String ToString…
1.在工作中碰到这样一个问题: 使用linq时,需要查询两个表,在这两张表中关联字段分别是int,和varchar()也就是string,在linq中对这两个字段进行关联, 如果强制类型转换两个不同类型的字段,就会报响应的扩展方法无法自动推断参数类型的问题(比如:我用的是groupjoin扩展方法), 如果进行了常规的类型转换,比如将int字段对应的转换为string(ToString方法),这时编译的时候不会有问题了. 但是在运行的时候会报如下错误: LINQ to Entities 不识别方…
db.UserValidates.Include(a => a.User).Where(uv => u.UserValidates.Contains(uv, c)).ToList(); 执行时出现:Linq to Entities不识别方法 解决方式可以使用lambda表达式树 Expression<Func<UserValidate, bool>> express = uv => u.UserValidates.Contains(uv, c); db.UserV…
LINQ to Entities 不识别方法"System.Guid Parse(System.String)",因此该方法无法转换为存储表达式. linq 中不能转换类型…
一.案例1,及解决方案: "LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式." 原因是LINQ to Entities 不支持ToString()函数. 可用下述方法进行转换解决: string str= "1,2,3,4,5,6,7,8,9,0"; List<int> result = new List<string>(str.Split(…
来源:https://www.cnblogs.com/hao-1234-1234/p/9112434.html 6  Select的时候,时间无法转换成 年月日  YYMMMdd 报错:LINQ to Entities 不识别方法“System.String ToString(System.String)”,因此该方法无法转换为存储表达式. 解决1:先ToList到内存,然后再次Select时可以转换. 解决2:  先匿名类接收数据, foreach循环或for 循环遍历的时候按自己需要重新组装…
LINQ to Entities的lambda表达式中如果需要转换时间及各种时间格式请使用System.Data.Entity的类DbFunctions的各种方法 例如: IsOverdue = db.Order.Where(p => p.RealRepaymentDate > DbFunctions.AddMinutes(DbFunctions.AddHours(DbFunctions.TruncateTime(p.RepaymentDate), 23),59)).Count() >0…
说明用了如 List<T> list=new List<T>(); je.copy_materials_details.SingleOrDefault(x => x.ID == ist[i].id); EF的lamda表达式中不支持索引器…
大致是: var products = db.Products.Select(new ProductVm{Name=SomeMethod() }); 针对IQueryable集合的查询操作会被LINQ Provider编译成SQL语句,此时,是无法识别方法的. 解决办法:把数据放到内存中,再调用方法 var produts = db.Products.AsEnumerable().Select(new ProductVm{Name=SomeMethod() });…
这个问题困扰了挺久,网上找了挺多方法 都太好使. 分几种情况. 1.如果查询结果 转换,那比较容易. var q = from c in db.Customers where c.Country == "UK" || c.Country == "USA" select new { Phone = c.Phone, InternationalPhone = PhoneNumberConverter(c.Country, c.Phone) }; public strin…
[我也是刚研究IEnumerable和IQueryable]以下都是个人理解,仅供参考,如有错误欢迎指出~ 在EF里面,使用IQueryable和IEnumerable可以延迟加载. IQuerybale其实是微软针对SQLService进行了再度优化的一个产物.使用上基本和IEnumerable类似. 其实还是有一些使用上的区别的,比如说IEnumerable里面有count()方法,我们可以借此进行for循环.IQueryable却只能foreach循环. —————————————————…
//这样不行 var   BrushProducTimeout = aliexpressEntities.CP_BrushProduc.Where(p => p.isActive == true && p.productState == 2 && (4 * 60 - (DateTime.Now.Subtract((DateTime)p.doBrushProducTime).TotalSeconds)) <= 0).ToList(); 换成下面的就可以 Expre…
将Queryable转化为IEnumerable或者直接Tolist()…
错误:报错不识别string.Join…… var QueryWithStandard=from a in listA join b in listB on a.ID equals b.AID into t select new { ID=a.ID, Content=a.Content, UserIDs=string.Join(",",t.Select(x=>x.UserID.ToString()).ToArray()) }; NET4.5+开始:要先 ToList 或者AsEn…
NormalSubmission=analysis.Count(x=>x.FinishTime<= endTime.AddDays(1))报错linq不能识别 => var endTime = analysis.Select(x => x.EndTime).FirstOrDefault().AddDays(1); NormalSubmission=analysis.Count(x=>x.FinishTime<= endTime), 把方法放到外面就可以了…
System.Data.Objects.EntityFunctions和System.Data.Objects.SqlClient.SqlFunctions中的方法进行比较,如下 where System.Data.Objects.SqlClient.SqlFunctions.DateDiff("s",DateTime.Now,u.Time)>0 where System.Data.Objects.EntityFunctions.DiffSeconds(DateTime.Now,…
如果用in是字符串类型无问题,可以直接这样用 ).Where(entity => urls.Contains((entity.NavigateUrl == null ? "" : entity.NavigateUrl).ToLower())).OrderBy(entity => entity.SortCode).ToList(); 如果是数值类型需要按如下处理: 熟悉LINQ的朋友也许会碰到标题的问题,且很自然地想起使用下面地语句实现: IList<int> i…
錯誤提示: LINQ to Entities does not recognize the method 'System.DateTime ToDateTime(System.String)' method, and this method cannot be translated into a store expression. LINQ to Entities 不识别方法“System.DateTime ToDateTime(System.String)”,因此该方法无法转换为存储表达式.…
1> 排序信息丢失 如果在排序操作之后执行了任何其他操作,则不能保证这些附加操作中会保留排序结果.这些操作包括 Select 和 Where 等.另外,采用表达式作为输入参数的 First 和 FirstOrDefault 方法不保留顺序.如下代码:并不能达到反序排序的效果 using (var edm = new NorthwindEntities()) { IQueryable<Customers> cc = edm.Customers.OrderByDescending(c =&g…
根据用户输入的起始日期,查询以起始日期开始的前20条记录,在ASP.NET MVC的Controller代码中这样写: var Logs = db.Log.Take(20); if (!string.IsNullOrEmpty(dateBegin)) { Logs = Logs.Where(a => a.Date >= Convert.ToDateTime(dateBegin)).Take(); } 运行后,出现下面错误信息: 对于这种情况,要清楚:本表达式只是LINQ to Entities…
报错信息:The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must …… EF 使用ToPagedList. 这是没有使用OrderBy或者OrderByDescending方法就直接调用了ToPagedList方法. 像我这样调用即可: 有个网友(@ _York)给我评论的很对,简单一句话:分页需要排序.…
将班级id以字符串形式输入如:"1111,1112,1113".数据库里的id为int型,在数据路里找到匹配的相应班级转换成列表.在这里爆出问题:不识别方法"System.String ToString()",跪求大神提出解决方案.public IEnumerable<Class1> FindClassesByIDs(string ids)        {            var r = from c in this.DbContext.Clas…