2 вопроса прямо в коде Код | class objectDetails { public int ID { get; set; } public string Name { get; set; } public string Title { get; set; } public string Description { get; set; } public string Body { get; set; } public int CategoryID { get; set; } public bool IsOnlyForMembers { get; set; }
public static List<objectDetails> GetObjectDetailsList() { List<objectDetails> obDet_return = new List<objectDetails>();
for (int a = 0; a < 10; a++) obDet_return.Add(new objectDetails { ID = a, Title = "objectDetails", Description = "Это из GetObjectDetailsList" } );
return obDet_return; }
public static objectDetails GetOneObjectDetails(){ return new objectDetails{ ID = 1000, Title = "objectDetails-One", Description = "Это из GetOneObjectDetails" }; }
}
class simpleObject { public int ID { get; set; } public string Name { get; set; }
public string Title { get; set; } public string Body { get; set; } public int CategoryID { get; set; }
//явное приведение типа - все OK public static explicit operator simpleObject(objectDetails od) { return new simpleObject { ID = od.ID, Body = od.Body, CategoryID = od.CategoryID }; }
//почему ? //Error -> User-defined conversion must convert to or from //the enclosing type /* public static explicit operator List<simpleObject>(List<objectDetails> ob) { List<simpleObject> s = new List<simpleObject>(); return s; }*/
//вот тут и вопросик public static List<simpleObject> GetSimpleObjectList() { var manyObjectDetails = objectDetails.GetObjectDetailsList(); var ret = from simpleObject in manyObjectDetails select GetSimpleObject();
//как обойтись без этих 3-х низлежащих строчек, а //чтобы сразу "return ret", //ведь return (List<simpleObject>)ret - ошибка!! List<simpleObject> list_ret = new List<simpleObject>(); foreach (var v in ret) list_ret.Add(v);
return list_ret; }
public static simpleObject GetSimpleObject() { var v = objectDetails.GetOneObjectDetails(); return new simpleObject { Body = "OneObject", CategoryID = v.CategoryID }; } }
|
и еще вопрос Код | DataContext con = new DataContext("строка подключения"); Table<objectDetails> data= con.GetTable<objectDetails>();
|
Как поместить в data только те записи, которые соответствуют определенному условию, что то типа Код | DataContext con = new DataContext("строка подключения"); //только в качестве иллюстрации, этот код не работает Table<objectDetails> data= con.GetTable<objectDetails>("SELECT * FROM objectDetailsTable WHERE ID>10");
|
Т е выбрать из базы данных не все данные, а только определенные, чтобы сэкономить траффик уже на этапе выборки из базы?
|