Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework EF迁移种子-无法创建类型为';Application.Model.TranslationItem';_Entity Framework_Migration_Code First_Seed_Database Update - Fatal编程技术网

Entity framework EF迁移种子-无法创建类型为';Application.Model.TranslationItem';

Entity framework EF迁移种子-无法创建类型为';Application.Model.TranslationItem';,entity-framework,migration,code-first,seed,database-update,Entity Framework,Migration,Code First,Seed,Database Update,TranslationItem模型: [DataContract] public class TranslationItem : CloneableBaseEntity<TranslationItem>, IValidatableObject { public int TranslationId { get; set; } public Translation Translation { get; set; } public int Lcid { get;

TranslationItem模型:

[DataContract]
public class TranslationItem : CloneableBaseEntity<TranslationItem>, IValidatableObject
{

    public int TranslationId { get; set; }
    public Translation Translation { get; set; }

    public int Lcid { get; set; }        

    private string _text;
    public string Text
    {
        get { return _text; }
        set
        {
            _text = value;
            RaisePropertyChanged("Text");
        }
    }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        var t = validationContext.ObjectInstance as TranslationItem;   
        return t.Translation.Validate(validationContext);               
    }
}
我不太确定如何解决这个问题。 我已经尝试先插入我的TranslationItems,但当我这样做时,验证失败,因为我想需要一个FK to Translations


请帮忙

我自己用一点技巧修复了它(不完全是我喜欢的解决方案,但它现在可以工作了)

我的问题是:似乎使用
AddOrUpdate(…)
只能比较基元类型或枚举类型

因此,我添加了一个名为
SeedId
的附加id来标识我的实体

因此,我在seed方法中的代码现在非常简单:

foreach (EventType eventtype in PqsDbContext.getStdEventTypes())
{
    context.EventTypes.AddOrUpdate(et => et.SeedId, eventtype);
}

我自己用一点小技巧修复了它(不完全是我喜欢的解决方案,但它现在可以工作了)

我的问题是:似乎使用
AddOrUpdate(…)
只能比较基元类型或枚举类型

因此,我添加了一个名为
SeedId
的附加id来标识我的实体

因此,我在seed方法中的代码现在非常简单:

foreach (EventType eventtype in PqsDbContext.getStdEventTypes())
{
    context.EventTypes.AddOrUpdate(et => et.SeedId, eventtype);
}
Unable to create a constant value of type 'PQS.Model.TranslationItem'. Only primitive types or enumeration types are supported in this context.
foreach (EventType eventtype in PqsDbContext.getStdEventTypes())
{
    context.EventTypes.AddOrUpdate(et => et.SeedId, eventtype);
}