Asp.net mvc 编辑结果LINQ到实体
我有一张名为“客户”的桌子和另一张名为“地址”的桌子,所以我想这样做: 我想在消费者和地址上选择,并在下拉列表中填入customers.Name和Address.Street字段。下拉列表如下所示: Jack Jhonsom-蒙大拿州 罗伯特·巴尔默-华盛顿特区 玛丽亚本德利-摩根敦 我怎么做 我正在使用ASP.NET MVC 4 RAZOR,实体框架已更新Asp.net mvc 编辑结果LINQ到实体,asp.net-mvc,linq,entity-framework,razor,Asp.net Mvc,Linq,Entity Framework,Razor,我有一张名为“客户”的桌子和另一张名为“地址”的桌子,所以我想这样做: 我想在消费者和地址上选择,并在下拉列表中填入customers.Name和Address.Street字段。下拉列表如下所示: Jack Jhonsom-蒙大拿州 罗伯特·巴尔默-华盛顿特区 玛丽亚本德利-摩根敦 我怎么做 我正在使用ASP.NET MVC 4 RAZOR,实体框架已更新 可能是其中一种解决方案将有助于: List<SelectListItem> result; //**If you have
可能是其中一种解决方案将有助于:
List<SelectListItem> result;
//**If you have relation Customer.Address
var customers = db.Customers.ToList();
var items = (from n in customers
select new SelectListItem
{
text = String.Format("{0}-{1}", n.Name, n.Address.City),
value = n.customerID.ToString();
}).ToList();
result.AddRange(items);
return result;
//If you don't have relation Customer.Address
var customers = db.Customers.ToList();
var addresses = db.Addresses.ToList();
var items = (from n in customers
join b in addresses on b.addressid equals n.addressid
select new SelectListItem
{
text = String.Format("{0}-{1}", n.Name, b.City),
value = n.customerID.ToString();
}).ToList();
result.AddRange(items);
return result;
我只有以下代码:var query=from c in ctx.customers选择c.Name;查询包含要在下拉列表中显示的名称列表,对吗?Aviran,但我的问题不在于如何显示它,而是如何使用LINQ to实体构建一个查询,该实体统一了两个字段customers.Name和address.Street。如我构建的示例:NAME+-+address请提供您的类结构,以便我可以提供帮助
List<SelectListItem> result;
//**If you have relation Customer.Address
var customers = db.Customers.ToList();
var items = (from n in customers
select new SelectListItem
{
text = String.Format("{0}-{1}", n.Name, n.Address.City),
value = n.customerID.ToString();
}).ToList();
result.AddRange(items);
return result;
//If you don't have relation Customer.Address
var customers = db.Customers.ToList();
var addresses = db.Addresses.ToList();
var items = (from n in customers
join b in addresses on b.addressid equals n.addressid
select new SelectListItem
{
text = String.Format("{0}-{1}", n.Name, b.City),
value = n.customerID.ToString();
}).ToList();
result.AddRange(items);
return result;