2013-07-12 27 views

回答

1
var result = context.Properties.Where(p => p.AgentName != null 
             && p.AgentName != "") 
           .GroupBy(p => p.AgentName) 
           .Select(g => g.Key); 
0

尝试是这样的

var result = (from dbo in database.Table 
        where dbo.agent_name!=null and dbo.agent_name !='' 
        select dbo.agent_name).Distinct(); 

或者如果您已经有一个清单

var result = (list.Where(a => a.agent_name!=null && a.agent_name!='').Select(
       a.agent_name)).Distinct(); 
+0

Linq to Entities不支持'String.IsNullOrEmpty' – NinjaNye

+0

@NinjaNye:谢谢,修正了:)习惯于'ienumerable' –

+2

为什么你要创建新对象而不是只选择'agent_name'? – Chris

1

假设你比较字符串值'null'喜欢你的原始查询:

List<string> agentNames = db.Properties.Where(p=>p.AgentName != "null" && 
             p.AgentName != "") 
             .Select(p => p.AgentName) 
             .Distinct() 
             .ToList(); 

如果你确实比较一个null值,将其更改为:

List<string> agentNames = db.Properties.Where(p=>p.AgentName != null && 
             p.AgentName != "") 
             .Select(p => p.AgentName) 
             .Distinct() 
             .ToList(); 
+0

我想要data to List not in var – kabijoy

+0

增加了'.ToList()'和指定的类型,而不是使用'var'。 FYI'var'不是“类型”,它是让编译器决定类型的简短语法。 –