ASP.NET MVC 3 Linq大写或小写数据库搜索

时间:2012-07-02 09:07:53

标签: c# linq entity-framework

我需要立即帮助。 ):我对英语知之甚少。

ASP.NET MVC 3 Linq大写或小写包含搜索

示例:

string metin="baris";

var IcerikAra = (from icerik in Context.dbDokumanEditor
join kategori in Context.dbDokumanKategori on 
icerik.KategoriID equals kategori.KategoriID
where icerik.Icerik.toLower().Contains(metin)
select new { 
KategoriID=kategori.
KategoriAd=kategori.KategoriAd
}).ToList();

异常: 的堆栈跟踪:

at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommandentityCommand, CommandBehavior behavior)
at System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator()
at System.Data.Entity.Internal.Linq.InternalQuery`1.GetEnumerator()
at System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Plus.Areas.DokumanEditor.Controllers.DokumanController.DokumanIcerikAramaBaslat(String metin)

错误消息:执行命令定义时发生错误。有关详细信息,请参阅内部异常。

感谢..

2 个答案:

答案 0 :(得分:2)

在where子句中使用String.Equals

where icerik.Icerik.Equals(metin,StringComparison.CurrentCultureIgnoreCase)

答案 1 :(得分:0)

我解决了,朋友..

如下:

    database datatype text -> old
    database datatype nvarchar(MAX) -> new


var IcerikAra = (from icerik in Context.dbDokumanEditor
join kategori in Context.dbDokumanKategori 
on icerik.KategoriID equals kategori.KategoriID
where icerik.Icerik.ToLower().Contains(metin)
select new { 
KategoriID=kategori.KategoriID,
KategoriAd=kategori.KategoriAd
}).ToList();

感谢朋友们......