2016-08-19 93 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中 –

相關問題