2017-11-23 15 views
-1
​​

そのMySQLでは、特定の列のデータ型はjsonであり、それをモデルクラスに追加する方法です。私はDataAnnotationsと試みたが、あなたはこのC#Entity FrameworkモデルでJsonデータ型を使用するには?

private string _application_role; 
    public string application_role 
    { 
     get{ 
      return JsonConvert.DeserializeObject<string>(_application_role) 
     } 
     set{ 
      _application_role = JsonConvert.SerializeObject(value); 
     } 
    } 

それとも、あなたのモデルを編集したくない場合のような何かをするだろうデータに

context.sc_employee_details 
        .Where(e => e.user_name.Equals(userName)) 
        .Select(o => o.application_role).SingleOrDefault(); 
+0

なぜ文字列として使用してみませんか?シリアライズとデシリアライズを行うだけですか? – Hey24sheep

+0

PraveenR @ Hey24sheepが示しているように、jsonデータをシリアライズしてデシリアライズする必要があります。私はあなたが他の方法でジェソンを扱うことはできないと思う。 –

+0

@AbhishekMauryaはDataAnnotationsを削除しましたが、同じエラーを返しました –

答えて

0

を取得するために

The specified type member 'application_role' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported. 

LINQのクエリとしてエラーを取得しますあなたはこのような何かをすることができます

var myRole = context.sc_employee_details 
        .Where(e => e.user_name.Equals(userName)) 
        .Select(o => o.application_role).SingleOrDefault(); 

if(myRole != null){ 
    var desRole = JsonConvert.DeserializeObject<string>(myRole); 
} 
関連する問題