首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#在Linq和SQL中的不同结果

c#在Linq和SQL中的不同结果
EN

Stack Overflow用户
提问于 2015-12-17 14:40:01
回答 1查看 111关注 0票数 3

我尝试使用EF6从MSSQL-数据库中获取一些数据:

代码语言:javascript
复制
IQueryable<Kundentree1> tmp = from f in db.Kundentree1 select f ;

Kundentree1是数据库上的SQL-View

因为我并不是所有的结果--我在过滤结果:

代码语言:javascript
复制
tmp = tmp.Where(k => k.Strasse
                    .ToLower()
                    .Trim().Contains(search.Strasse
                                           .ToLower()
                                           .Trim()))
         .Distinct();

(这不是唯一的一个,还有一些..。)

在我手术结束时:

代码语言:javascript
复制
var sql = tmp.ToString();
return View(tmp);

在我的测试例程中,tmp作为结果返回7项,但是0-6项是相同的。

如果我使用SqlStatement (SQL),我也会得到7个条目,但在本例中,正确的结果是7个不同的项。

有什么提示吗?

更新:

完整生成的SQL代码(和正确的工作)

代码语言:javascript
复制
SELECT 
    [Extent1].[Firmenname] AS [Firmenname], 
    [Extent1].[rechtsform] AS [rechtsform], 
    [Extent1].[Strasse] AS [Strasse], 
    [Extent1].[Land] AS [Land], 
    [Extent1].[Postleitzahl] AS [Postleitzahl], 
    [Extent1].[Ort] AS [Ort], 
    [Extent1].[Name] AS [Name], 
    [Extent1].[Personen_ID] AS [Personen_ID], 
    [Extent1].[Firmen_ID] AS [Firmen_ID], 
    [Extent1].[Adressen_ID] AS [Adressen_ID], 
    [Extent1].[sex] AS [sex], 
    [Extent1].[Vorwahl] AS [Vorwahl], 
    [Extent1].[Tel1] AS [Tel1], 
    [Extent1].[zahlungskondition] AS [zahlungskondition], 
    [Extent1].[sperrkennzeichen] AS [sperrkennzeichen], 
    [Extent1].[sendkatalag] AS [sendkatalag], 
    [Extent1].[lastkatalog] AS [lastkatalog], 
    [Extent1].[ID] AS [ID], 
    [Extent1].[NACHNAME] AS [NACHNAME], 
    [Extent1].[VORNAME] AS [VORNAME], 
    [Extent1].[ZKTEXT] AS [ZKTEXT], 
    [Extent1].[FAX] AS [FAX], 
    [Extent1].[KNR] AS [KNR], 
    [Extent1].[UID] AS [UID], 
    [Extent1].[firmenbuch] AS [firmenbuch], 
    [Extent1].[email] AS [email], 
    [Extent1].[Lieferant] AS [Lieferant], 
    [Extent1].[PERS_VORNAME] AS [PERS_VORNAME], 
    [Extent1].[PERS_NACHNAME] AS [PERS_NACHNAME], 
    [Extent1].[PERS_sex] AS [PERS_sex], 
    [Extent1].[Titel] AS [Titel], 
    [Extent1].[Zusatz] AS [Zusatz], 
    [Extent1].[Position] AS [Position], 
    [Extent1].[PERS_EMAIL] AS [PERS_EMAIL], 
    [Extent1].[PERSONEN_GRUPPE_ID] AS [PERSONEN_GRUPPE_ID], 
    [Extent1].[NEWSLETTER] AS [NEWSLETTER], 
    [Extent1].[HEROLD_ID] AS [HEROLD_ID], 
    [Extent1].[INFOTEXT] AS [INFOTEXT], 
    [Extent1].[DISG] AS [DISG], 
    [Extent1].[HANDEL] AS [HANDEL], 
    [Extent1].[AdressenTYP] AS [AdressenTYP], 
    [Extent1].[BUNDESLAND] AS [BUNDESLAND], 
    [Extent1].[CANBOX] AS [CANBOX], 
    [Extent1].[KatalogTyp] AS [KatalogTyp], 
    [Extent1].[KatalogBezeichnung] AS [KatalogBezeichnung]
    FROM (SELECT 
    [Kundentree1].[Firmenname] AS [Firmenname], 
    [Kundentree1].[rechtsform] AS [rechtsform], 
    [Kundentree1].[Strasse] AS [Strasse], 
    [Kundentree1].[Land] AS [Land], 
    [Kundentree1].[Postleitzahl] AS [Postleitzahl], 
    [Kundentree1].[Ort] AS [Ort], 
    [Kundentree1].[Name] AS [Name], 
    [Kundentree1].[Personen_ID] AS [Personen_ID], 
    [Kundentree1].[Firmen_ID] AS [Firmen_ID], 
    [Kundentree1].[Adressen_ID] AS [Adressen_ID], 
    [Kundentree1].[sex] AS [sex], 
    [Kundentree1].[Vorwahl] AS [Vorwahl], 
    [Kundentree1].[Tel1] AS [Tel1], 
    [Kundentree1].[zahlungskondition] AS [zahlungskondition], 
    [Kundentree1].[sperrkennzeichen] AS [sperrkennzeichen], 
    [Kundentree1].[sendkatalag] AS [sendkatalag], 
    [Kundentree1].[lastkatalog] AS [lastkatalog], 
    [Kundentree1].[ID] AS [ID], 
    [Kundentree1].[NACHNAME] AS [NACHNAME], 
    [Kundentree1].[VORNAME] AS [VORNAME], 
    [Kundentree1].[ZKTEXT] AS [ZKTEXT], 
    [Kundentree1].[FAX] AS [FAX], 
    [Kundentree1].[KNR] AS [KNR], 
    [Kundentree1].[UID] AS [UID], 
    [Kundentree1].[firmenbuch] AS [firmenbuch], 
    [Kundentree1].[email] AS [email], 
    [Kundentree1].[Lieferant] AS [Lieferant], 
    [Kundentree1].[PERS_VORNAME] AS [PERS_VORNAME], 
    [Kundentree1].[PERS_NACHNAME] AS [PERS_NACHNAME], 
    [Kundentree1].[PERS_sex] AS [PERS_sex], 
    [Kundentree1].[Titel] AS [Titel], 
    [Kundentree1].[Zusatz] AS [Zusatz], 
    [Kundentree1].[Position] AS [Position], 
    [Kundentree1].[PERS_EMAIL] AS [PERS_EMAIL], 
    [Kundentree1].[PERSONEN_GRUPPE_ID] AS [PERSONEN_GRUPPE_ID], 
    [Kundentree1].[NEWSLETTER] AS [NEWSLETTER], 
    [Kundentree1].[HEROLD_ID] AS [HEROLD_ID], 
    [Kundentree1].[INFOTEXT] AS [INFOTEXT], 
    [Kundentree1].[DISG] AS [DISG], 
    [Kundentree1].[HANDEL] AS [HANDEL], 
    [Kundentree1].[AdressenTYP] AS [AdressenTYP], 
    [Kundentree1].[BUNDESLAND] AS [BUNDESLAND], 
    [Kundentree1].[CANBOX] AS [CANBOX], 
    [Kundentree1].[KatalogTyp] AS [KatalogTyp], 
    [Kundentree1].[KatalogBezeichnung] AS [KatalogBezeichnung]
    FROM [dbo].[Kundentree1] AS [Kundentree1]) AS [Extent1]
    WHERE (( CAST(CHARINDEX(LTRIM(RTRIM(LOWER('Salv'))), LTRIM(RTRIM(LOWER([Extent1].[Firmenname])))) AS int)) > 0) AND ( NOT (([Extent1].[Postleitzahl] IS NULL) OR ((LEN([Extent1].[Postleitzahl])) = 0))) AND (( CAST(CHARINDEX(LTRIM(RTRIM('4482')), LTRIM(RTRIM([Extent1].[Postleitzahl]))) AS int)) > 0)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-17 15:51:14

感谢Ivan:

在数据库上的视图上创建一个键可以工作

在我的例子中,它是一个假密钥(unique标识符newID()),我需要使用它

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34337234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档