将SQL查询转换为实体框架-LINQ查询 [英] convert sql query to entity framework - linq query
问题描述
我正在使用以下查询.
但是我在Convert.ToInt16()中遇到了错误.
在数据库字段中,powerplatecapacity的数据类型为nvarchar.
我想检查一下情况.
我的代码如下.
来自 _power in 中的
I am using following query.
But i got error in Convert.ToInt16().
In database field powerplatecapacity data type is nvarchar.
I want to check betwwen condition.
My code is like following.
from _power in dataContext.Powers
join _powerFuelTypes in dataContext.PowerFuelTypes on _power.ID equals _powerFuelTypes.PowerID into list1
from l1 in list1.DefaultIfEmpty()
where (Convert.ToInt16(_power.PowerPlateCapacity) >= 0 && Convert.ToInt16_power.PowerPlateCapacity) <= 100)
推荐答案
这在LinqPad中正常运行:
This is working properly in LinqPad:
var vs = from v in "10 12 100 33".Split() select v;
vs.Dump();
var x = from v in vs where Convert.ToInt16(v)>90 select v;
x.Dump();
但是我对您的查询有些困惑.选择进入 list1
,然后从中选择.您为什么认为_power
属于该查询的范围?我很确定您正在使查询复杂化.这不是最佳实践,但请首先尝试将此查询视为sql查询:您将如何制定它?
But I am a little bit confused about you query. You select into list1
, than you select from it. Why do you think that _power
will be in scope of that query? I am pretty sure you are complicating the query. It is not best-practice, but try to think of this query as sql query first: how would you formulate it?
这篇关于将SQL查询转换为实体框架-LINQ查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!