2016-08-19 50 views
0

代码的恒定值无法创建类型“System.Object的”

using (TimeTableEntities obj = new TimeTableEntities()) 
    { 
    var dataM=obj.LoginAccesses.Where(i =>(i.Salutation + ' ' + i.Fname + ' ' + i.Lname) == fname).ToList(); 
    foreach(var countTemp in dataM) 
     { 
     //mycode 
     } 
    } 

异常

"Unable to create a constant value of type 'System.Object'. Only primitive types or enumeration types are supported in this context." 

,当我试图不where子句它的工作对我罚款,但是当我加入其中,它显示上述异常

谢谢你提前实体

+0

尝试使用[DatabaseGenerated(DatabaseGeneratedOption.Computed),并创建新的属性Concat的你的数据在使用,其中cluase。 –

+0

如何使用?任何前。 – Pravin

回答

0

创造新Proprty

[DatabaseGenerated(DatabaseGeneratedOption.Computed)] 
public string MyCombinationData{ 
    get{ 
      return Salutation + ' ' + Fname + ' ' + Lname 
    } 
} 

,并在查询中使用这样的:

var dataM=obj.LoginAccesses.Where(i =>i.MyCombinationData == fname).ToList(); 
+0

嗨,对不起,当我尝试你的解决方案时,我得到错误“databasegenerated命名空间不存在....”就像当搜索错误,我发现它的工作版本EntityFramework 4.4见http://stackoverflow.com/a/12599605 – Pravin

+0

我正在使用EntityFramework 6.0 – Pravin

+0

使用System.ComponentModel.DataAnnotations.Schema;在EF 6.1.3中 –

相关问题