如何将我的域模型中的值填充到编辑模型中?

时间:2015-02-01 10:54:43

标签: c# asp.net-mvc linq linq-to-entities

在我的项目中,我有:countriesCountryEditModel

public class countries
{
     public int id { get; set; }
     public string Code { get; set; }
     public string Name { get; set; }
}

public class CountryEditModel
{
     public int id { get; set; }
     public string Code { get; set; }
     public string Name { get; set; }
     public bool isvalid{ get;set; }
}

countries是我的域模型,它与实体框架绑定,countryEditModel是我在视图中使用的模型。
如何填充countriescountryEditModel的值。我实际上想在我的视图中将所有国家/地区的列表绑定到下拉列表,我不想在我的视图中直接使用我的countries域模型。

要解决我已经做到了这个

var countryDomain = context.Country.Select(c => c).ToList();
var countrylist = new List<CountryEditModel>();
var countrymodel = new CountryEditModel();
foreach (var country in countryDomain)
countrymodel = new CountryEditModel()
 {
   Code = country.Code,
   Name = country.Name,
   id = country.id
 };

countrylist.Add(countrymodel);

还有更好的方法吗?

答案:
实际上这就是我想要做的事情

 var countryViewModel = context.Country.Select(c => new CountryEditModel
                {
                    Code = c.Code,
                    Name = c.Name,
                    id = c.id
                }).ToList();

1 个答案:

答案 0 :(得分:1)

正如@rohitsingh所指出的,这正是他想要做的事情

var countryViewModel = context.Country.Select(c => new CountryEditModel
    {
        Code = c.Code,
        Name = c.Name,
        id = c.id
    }).ToList();