2

別のプロジェクトを作成し、モデルをこのプロジェクトにコピーしました。参考にした

using System.ComponentModel.DataAnnotations

私のモデルは次のように定義されています。

 public class File
 {
        [Key]
        [Column("file_id")]
        public int Id { get; set; }

        [Column("user_id")]
        public int UserId { get; set; }

  ...
}

私が得るエラーは次のとおりです。

The type or namespace Column could not be found ...

EntityFramework への参照を追加すると正常に動作しますが、モデル プロジェクトを Web Api Rest Client ライブラリ用に参照して再利用したいので、理由もなく EF を導入したくありません。

私は.net 4.0を使用しています

4.5 でこの問題 (EF との疎結合) は修正されましたか?

4

3 に答える 3

3

はい、この問題は .NET 4.5 で修正されています。

EntityFramework.dll.NET 4.0 を使用した EF 5 (EF 4.4 とも呼ばれます)のオブジェクト カタログには、EF アセンブリにあるSystem.ComponentModel.DataAnnotationsおよび名前空間のすべての属性が表示されます。System.ComponentModel.DataAnnotations.Schema

.NET 4.0 を使用した EF 5

一方、EntityFramework.dll.NET 4.5 を使用した EF 5 には、これらの名前空間が含まれなくなりました。

.NET 4.5 を使用した EF 5

属性は、System.ComponentModel.DataAnnotations.dll以前の EF アセンブリと同じ名前空間の下にある .NET 4.5 フレームワーク アセンブリに移動されました。

.NET 4.5 でのデータ注釈

(MinLengthも含まMaxLengthSystem.ComponentModel.DataAnnotationsています。そこにあるすべての属性の合計リストは、スクリーンショットには長すぎます。)

于 2013-09-05T18:55:29.447 に答える