Asp.net 执行机构<&燃气轮机;使用层次结构对象和LINQ到SQL
假设我有两个对象:Asp.net 执行机构<&燃气轮机;使用层次结构对象和LINQ到SQL,asp.net,linq-to-sql,dynamic-sql,Asp.net,Linq To Sql,Dynamic Sql,假设我有两个对象: public class Person{ string Name { get; set;} Address Home { get; set;} } public class Address{ string Street{ get; set;} string City { get; set;} } string sql = "Select Name, Home_street, Home_city from user";
public class Person{
string Name { get; set;}
Address Home { get; set;}
}
public class Address{
string Street{ get; set;}
string City { get; set;}
}
string sql = "Select Name, Home_street, Home_city from user";
var results = dc.ExecuteQuery<Person>(sql);
公共类人物{
字符串名称{get;set;}
主地址{get;set;}
}
公共课堂演讲{
string Street{get;set;}
字符串城市{get;set;}
}
string sql=“从用户中选择姓名、家乡街道、家乡城市”;
var results=dc.ExecuteQuery(sql);
这里的问题是家乡街道和家乡城市没有人口。有什么办法可以让它工作吗?我认为使用关联属性可以解决这个问题,但不确定如何解决
如果使用存储过程,我也会遇到同样的问题。我正在尝试构建一个查询工具,以便很多变量都不提前知道。您需要创建一个具有平面形状的数据对象来捕获结果,然后将这些结果投影到您想要的任何形状
public class PersonQueryResult
{
string Name {get;set;}
string Home_street {get;set;}
string Home_city {get;set;}
}
string sql = "Select Name, Home_street, Home_city from user";
List<PersonQueryResult> results = dc.ExecuteQuery<PersoneQueryResult(sql).ToList();
List<Person> projectedResults = results.Select(pqr => new Person()
{
Name = pqr.Name,
Home = new Address()
{
Street = pqr.Home_street,
City = pqr.Home_city
}
}
).ToList();
谢谢你,大卫。是否有一种方法可以将字符串Home\u street{get;set;}string Home\u city{get;set;}动态添加到Person对象?或者动态创建整个PersonQueryResult类?我知道这在4.0中是可能的,但我用的是3.5。
string queryString =
"SELECT CustomerID, CompanyName FROM dbo.Customers";
SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection);
DataSet customers = new DataSet();
adapter.Fill(customers, "Customers");