我有一个名为Pinfo的表,我想要做的是使用Linq查询从db中获取记录并返回它。但我无法做到。这就是我到目前为止。我如何才能完成这项工作
List<ProductInfo> getList()
{
List<ProductInfo> pi = new List<ProductInfo>();
using (SqlConnection con = new SqlConnection("server=.\\sqlexpress;database=Project;User Id=sa;Password=1"))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("select * from PInfo", con))
{
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
var query = from c in dt.AsEnumerable()
select new
{
id = c.Field<int>("Id"),
name = c.Field<string>("Name"),
price = c.Field<decimal>("Price")
};
adp.Fill(query);
}
}
return pi;
}
答案 0 :(得分:0)
以这种方式试试
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
return (from c in dt.AsEnumerable()
select new ProductInfo
{
id=c.Field<int>("Id"),
name=c.Field<string>("Name"),
price=c.Field<decimal>("Price")
}).ToList();
ProductInfos
SqlDataAdapter
,只需使用DataTable的Load
方法。