我昨天开始使用EF,我很难将这个简单的查询转换为EF sintax
翻译:
select a.city from offer o, address a, offer_address oa
where o.identifier = oa.offeridentifier
and a.identifier = oa.addressidentifier
group by a.city
order by count(*) desc
Run Code Online (Sandbox Code Playgroud)
成:
var cities = (from o in db.offer
from a in db.address
from oa in db.offer_address
where (o.identifier == oa.offeridentifier
&& a.identifier == oa.addressidentifier)
group a by a.city into c
select new
{
quantity = c.Count(),
city = c.Key
}).OrderByDescending(a => a.quantity).Select(a => a.city);
var cityCollection = new List<string>();
foreach (var city in …Run Code Online (Sandbox Code Playgroud) 我想稍微关注一下这个挑战.
我的目的是找到一些在系统内开发的解决方案.
在我公司(土木工程)的业务中,我有以下情况:
我们在数据库中注册了元素/材料,但我们的数千家供应商拥有相同的元素/材料,但名称不同但相似.
所以我有一个通过XML发票的元素列表(例如水泥).
另一方面,我在我的数据库中注册了相同类型的元素,但名称不同(在大多数情况下它们几乎相同),我想在发票清单中找到更像是比较它们的名称.
有没有类似贝叶斯算法,我可以比较名称,并在"0"和"1"之间的值?'1'将是100%相同的字符.
示例(我将更改水果的元素类型):
如果我必须比较:覆盆子
Invoice List - Values of Algortim
---------------------------------
strawberry ........ 0,89
blueberry ......... 0,77
cherry ............ 0,46
grape ............. 0,11
raspberry ......... 1,00
pineapple ......... 0,13
Run Code Online (Sandbox Code Playgroud)
重要的是在没有完美组合时找出最接近的名字.
还有其他技巧吗?
很高兴看到你们的想法!