将sql查询转换为linq

时间:2012-05-24 18:07:32

标签: windows-phone-7

我有以下代码块可以正常工作;

var toDoSessionsInDB = from ZSESSION todo in todoZession.ZSESSIONs
                       select todo ;

ToDoZessions = new ObservableCollection<ZSESSION>(toDoSessionsInDB);

我想修改'select'部分,但以下代码抛出错误

var toDoSessionsInDB = from ZSESSION todo in todoZession.ZSESSIONs
                       select  ContactName
                                  .Substring(0,c.ContactName.IndexOf(' ')),Age,ContactNumber;
ToDoZessions = new ObservableCollection<ZSESSION>(toDoSessionsInDB);

编译前显示以下错误...... System.Collections.ObjectModel.ObservableCollection.ObservableCollection(System.Collections.Generic.List)的最佳重载方法匹配具有一些无效参数

任何帮助?

1 个答案:

答案 0 :(得分:1)

如果您尝试选择多项内容,则需要在LINQ中select new。它看起来像这样:

var toDoSessionsInDB = from todo in todoZession.ZSESSIONs
                       select new ZSESSION
                       {
                         Name = todo.ContactName.Substring(0,c.ContactName.IndexOf(' ')),
                         Age = todo.Age,
                         ContactNumber = todo.ContactNumber
                       };

等号左侧的项目是ZSESSION类中的属性。你没有提供那个课程,所以我不得不猜测他们的名字。