質問

コードファーストアプリの外部キーとしてENUMを使用します。列挙体はintとして保存されているので、enumプロパティの属性[外部キー]を使用できると思いましたが、この例外をスローします。

The types of all properties in the Dependent Role of a referential constraint 
must be the same as the corresponding property types in the Principal Role
.

これは私がしようとしていることの例です:

public enum UserType
{
    Administrator = 1,
    Member = 2
}

public class User
{
    public int UserId { get; set; }
    public string Login { get; set; }

    [ForeignKey("TypeDetails")]
    public UserType Type { get; set;}

    public virtual MasterType TypeDetails { get; set; }
}

public class MasterType
{
    public int MasterTypeId { get; set; }
    public string Description { get; set; }
    ...
}
.

流暢なAPIや移行を通してこれを行うことも可能ですか?

ありがとう

役に立ちましたか?

解決

これは私が前にしたものです: https://www.nuget.org/パッケージ/ EF-enum-to-lookup

それはあなたが自動的にルックアップテーブルを作成し、enumが使用されているFKSを追加するあなたのSeed(Initializerおよび/または移行)で呼び出す方法を提供するNUGETパッケージです。使用情報

楽しい:-)それがあなたのために働くかどうか私に知らせてください(またはその問題のための誰かがそう!)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top