我是LINQ查询的新手,请帮我找到解决方案。
我在Entity Framework数据模型中有一个源,有一个表currency
绑定到源currencyID
和CurrencyName
。
我需要使用LINQ查询将数据库中的值传递给DataTable
。
我尝试过类似下面提到的内容,但它不起作用:
var dataset = Source.T_Currency
.Where(x=> x.CurrencyID == x.CurrencyID && x.CurrencySymbol == x.CurrencySymbol)
.Select(x => new x.Currency
{
CurrencyID = x.CurrencyID,
CurrencySymbol = x.CurrencySymbol
}).ToList();
答案 0 :(得分:1)
如果要从T_Currency中选择所有行,请尝试
Source.T_Currency
.Select(x => new
{
x.CurrencyID,
x.CurrencySymbol
})
.ToList()
要按任意值过滤结果,请在选择之前添加Where语句:
Source.T_Currency
.Where(x => x.CurrencySymbol == myCurrency) // where myCurrency is variable/parameter
.Select(x => new
{
x.CurrencyID,
x.CurrencySymbol
})
.ToList()
这是Select语句的示例,但实际上在这种情况下不需要它,因此Source.T_Currency.ToLost()返回与第一个代码片段相同的结果。差异在于值的类型,但如果您可以使用原始类,则不应创建无限类型。
答案 1 :(得分:0)
你应该像这个例子一样使用LINQ Join:
var custSupJoin =
from sup in suppliers
join cust in customers on sup.Country equals cust.Country
select new { Country = sup.Country, SupplierName = sup.SupplierName, CustomerName = cust.CompanyName };