2016-12-03 9 views
1

EFを使用してAccord.netの先生をSQLに保存しようとしています。私はTeacherModelというモデルがあります:byte []をデータベースに保存しようとするとC#のEFコードが最初にエラーを返します

public class TeacherModel 
{ 
    public int TeacherModelId { get; set; } 
    public byte[] Teacher { get; set; } 
} 

をしかし、私は 'System.Byte []は' マッピングされていませんでした

タイプとしてエラーが発生します。 IgnoreメソッドまたはNotMappedAttributeデータ注釈を使用して、型が明示的に除外されていないことを確認します。型がクラスとして定義されていて、プリミティブでもジェネリックでもなく、EntityObjectから継承していないことを確認してください。

私はbyte []がSQLでデフォルトで受け入れられたと思っています。このメッセージでは非常に混乱しています。どんな助けでも大変助かります。

+1

Entity Frameworkは、デフォルトでは、バイト配列を 'varbinary(max)'にマップする必要があります。どのバージョンのEFを使用していますか?また、Teacherプロパティを初めて導入したときにEFが生成した移行を表示してください。 –

答えて

0

エンティティフレームワークでマップされないタイプは、データベースのプロパティへのマッピングがない場合に発生します。最初にefのコードを使用している場合は、移行を行い、dbコンテキストを更新する必要があります。 ADOモデルを使用している場合は、データベースを更新してedmxを更新する必要があります。

関連する問題