[英]Need help populating an asp:dropdownlist from multiple tables in an SQL database
我有4个表:CustomerDocument,CustomerLink,CustomerAdditionalInfo和CustomerImage。 他们每个人都有一个CustomerNumber值,我需要设法从每个表中提取客户编号并放入一个下拉列表中。 我知道如何用一张桌子,而不是多个桌子。 此外,还有一个限制,即CustomerNumber必须不为null,因此是否需要在每个联接中都包括此值? 这是我现在拥有的一些代码。 oDb是DataContext
var oData = from c in oDb.CustomerAdditionalInfos
where ( c.CustomerID == CustomerID &&
c.CustomerNumber != null &&
c.CategoryID == CategoryID )
orderby c.CustomerNumber
select new { c.CustomerNumber };
return oData;
你可以这样做...
var oData = (from c in oDb.CustomerAdditionalInfos
where c.CustomerNumber != null
select new
{
CustomerNumber = c.CustomerNumber
}).Union
(from d in oDb.CustomerDocument
where d.CustomerNumber != null
select new
{
CustomerNumber = d.CustomerNumber
}).Union
(from l in oDb.CustomerLink
where l.CustomerNumber != null
select new
{
CustomerNumber = l.CustomerNumber
}).Union
(from i in oDb.CustomerImage
where i.CustomerNumber != null
select new
{
CustomerNumber = i.CustomerNumber
}).OrderBy(c => c.CustomerNumber);
那只是所有四个表中所有CustomerNumbers的并集。 如果有重复项,它将包括重复项。 如果只需要不同的CustomerNumber,则只需在OrderBy
之后执行Distinct()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.