如何创建一个包含查询模型列表的模型?
本文关键字:模型 查询 包含 列表 何创建 创建 一个 | 更新日期: 2023-09-27 18:14:55
我试图创建一个包含实体列表的实体。下面是我的代码:
internal IEnumerable<Project> GetProjects(int customerId)
{
string query = @"SELECT *
FROM Project
INNER JOIN MediaAsset ON Project.CustomerId = MediaAsset.CustomerId
WHERE MediaAsset.CustomerId = @CustomerID";
List<Project> projects = new List<Project>();
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString))
{
using (SqlCommand command = new SqlCommand(query, connection))
{
connection.Open();
command.Parameters.AddWithValue("@CustomerID", customerId);
using (varreader = command.ExecuteReader())
{
while (reader.Read())
{
projects.Add(new Project
{
Assets = new List<MediaAsset>()//<--list of assets nested in Project
{
//right here.. how do i create the list of MediaAssets?
},
CustomerId = (int)reader["CustomerId"],
ProjectId = (int)reader["ProjectId"],
ProjectName = (string)reader["ProjectName"],
UserID = (int)reader["UserId"]
});
}
}
}
}
return projects;
}
无论如何要这样完成它?我也一直在研究Linq-to-SQL,但我已经有很多方法,我想保持代码一致。
考虑使用Dapper。您将仍然使用SQL语句,但是您将获得从接收到的数据到实体对象的自动转换。