C# 获取类的特定实例

C# 获取类的特定实例,c#,asp.net-mvc,relation,C#,Asp.net Mvc,Relation,我已经创建了计量单位(UOM)模型和配料模型,我想在其中使用UOM为配料输入默认计量单位 public class IngredientModel { public int Id { get; set; } public string Name { get; set; } public UnitOfMeasureModel DefaultUOM { get; set; } } public class UnitOfMeasur

我已经创建了计量单位(UOM)模型和配料模型,我想在其中使用UOM为配料输入默认计量单位

 public class IngredientModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public UnitOfMeasureModel DefaultUOM { get; set; }
    }

 public class UnitOfMeasureModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Abbreviation { get; set; }
    }
我想在IngreditModel中使用Name属性

在configure.cs中,我使用以下代码为数据库创建一些默认数据:

    protected override void Seed(RecipeApplication.Models.RecipeApplicationDb context)
    {
        if (!context.UnitOfMeasures.Any())
        {
            context.UnitOfMeasures.AddOrUpdate(
                u => u.Id,
                new UnitOfMeasureModel { Name = "Gram", Abbreviation = "g" },
                new UnitOfMeasureModel { Name = "Kilogram", Abbreviation = "kg"},
                new UnitOfMeasureModel { Name = "Milligram", Abbreviation = "mg" }
                );
        }

        if (!context.Ingredients.Any())
        {
            context.Ingredients.AddOrUpdate(
                i => i.Id,
                new IngredientModel { Name = "Italiaanse Ham", DefaultUOM = 
                );
        }

    }
我还没有以默认计量单位输入任何内容,因为我被卡住了


有人能帮我解决这个问题吗?

我假设您只想访问UnitOfMeasures.AddOrUpdate和UnitOfMeasures.AddOrUpdate方法中的UnitOfMeasureModel类之一。为此,请在调用之前创建实例,并在每个AddOrUpdate方法中使用相同的实例,如下所示

protected override void Seed(RecipeApplication.Models.RecipeApplicationDb context)
{
    var defaultUOM = new UnitOfMeasureModel { Name = "Gram", Abbreviation = "g" };

    if (!context.UnitOfMeasures.Any())
    {
        context.UnitOfMeasures.AddOrUpdate(
            u => u.Id,
            defaultUOM,
            new UnitOfMeasureModel { Name = "Kilogram", Abbreviation = "kg"},
            new UnitOfMeasureModel { Name = "Milligram", Abbreviation = "mg" }
            );
    }

    if (!context.Ingredients.Any())
    {
        context.Ingredients.AddOrUpdate(
            i => i.Id,
            new IngredientModel { Name = "Italiaanse Ham", DefaultUOM = defaultUOM
            );
    }

}

显然,如果gram不是正确的默认值,您可以进行更改

我假设您只希望能够访问UnitOfMeasures.AddOrUpdate和UnitOfMeasures.AddOrUpdate方法中的UnitOfMeasureModel类之一。为此,请在调用之前创建实例,并在每个AddOrUpdate方法中使用相同的实例,如下所示

protected override void Seed(RecipeApplication.Models.RecipeApplicationDb context)
{
    var defaultUOM = new UnitOfMeasureModel { Name = "Gram", Abbreviation = "g" };

    if (!context.UnitOfMeasures.Any())
    {
        context.UnitOfMeasures.AddOrUpdate(
            u => u.Id,
            defaultUOM,
            new UnitOfMeasureModel { Name = "Kilogram", Abbreviation = "kg"},
            new UnitOfMeasureModel { Name = "Milligram", Abbreviation = "mg" }
            );
    }

    if (!context.Ingredients.Any())
    {
        context.Ingredients.AddOrUpdate(
            i => i.Id,
            new IngredientModel { Name = "Italiaanse Ham", DefaultUOM = defaultUOM
            );
    }

}

显然,如果gram不是正确的默认值,您可以进行更改

我假设您只希望能够访问UnitOfMeasures.AddOrUpdate和UnitOfMeasures.AddOrUpdate方法中的UnitOfMeasureModel类之一。为此,请在调用之前创建实例,并在每个AddOrUpdate方法中使用相同的实例,如下所示

protected override void Seed(RecipeApplication.Models.RecipeApplicationDb context)
{
    var defaultUOM = new UnitOfMeasureModel { Name = "Gram", Abbreviation = "g" };

    if (!context.UnitOfMeasures.Any())
    {
        context.UnitOfMeasures.AddOrUpdate(
            u => u.Id,
            defaultUOM,
            new UnitOfMeasureModel { Name = "Kilogram", Abbreviation = "kg"},
            new UnitOfMeasureModel { Name = "Milligram", Abbreviation = "mg" }
            );
    }

    if (!context.Ingredients.Any())
    {
        context.Ingredients.AddOrUpdate(
            i => i.Id,
            new IngredientModel { Name = "Italiaanse Ham", DefaultUOM = defaultUOM
            );
    }

}

显然,如果gram不是正确的默认值,您可以进行更改

我假设您只希望能够访问UnitOfMeasures.AddOrUpdate和UnitOfMeasures.AddOrUpdate方法中的UnitOfMeasureModel类之一。为此,请在调用之前创建实例,并在每个AddOrUpdate方法中使用相同的实例,如下所示

protected override void Seed(RecipeApplication.Models.RecipeApplicationDb context)
{
    var defaultUOM = new UnitOfMeasureModel { Name = "Gram", Abbreviation = "g" };

    if (!context.UnitOfMeasures.Any())
    {
        context.UnitOfMeasures.AddOrUpdate(
            u => u.Id,
            defaultUOM,
            new UnitOfMeasureModel { Name = "Kilogram", Abbreviation = "kg"},
            new UnitOfMeasureModel { Name = "Milligram", Abbreviation = "mg" }
            );
    }

    if (!context.Ingredients.Any())
    {
        context.Ingredients.AddOrUpdate(
            i => i.Id,
            new IngredientModel { Name = "Italiaanse Ham", DefaultUOM = defaultUOM
            );
    }

}

显然,如果gram不是正确的默认值,您可以更改

@CodeCaster我必须创建新实例,以便在多个类中使用它们。否则,我必须为我要创建的每个项目执行此操作。@CodeCaster我必须创建新实例,以便在多个类中使用它们。否则,我必须为我要创建的每个项目执行此操作。@CodeCaster我必须创建新实例,以便在多个类中使用它们。否则,我必须为我要创建的每个项目执行此操作。@CodeCaster我必须创建新实例,以便在多个类中使用它们。否则,我将不得不为我想创建的每一个项目这样做。