この機能について助けが必要です...
最初のクエリは正常に機能します。
public List<Project> GetProjectByCustomerID(Int16 customerid)
{
try
{
using (YeagerTechEntities DbContext = new YeagerTechEntities())
{
DbContext.Configuration.ProxyCreationEnabled = false;
DbContext.Database.Connection.Open();
IEnumerable<Project> project = DbContext.Projects.Where(p => p.CustomerID == customerid);
List<Project> myProjects = new List<Project>();
myProjects = project.ToList();
return myProjects;
}
}
catch (Exception ex)
{
throw ex;
}
}
2 番目のクエリにはプロジェクト リストがあり、特定の列だけをクエリに戻したいのですが、「型 IQueryable Anonymoustype#1 を Generic.List に変換できません」というエラーが表示されます。設計時のコンパイル エラーは、"(s =>" の直前の SQL ステートメント全体にあります。
public List<Project> GetProjectByCustomerID(Int16 customerid)
{
try
{
using (YeagerTechEntities DbContext = new YeagerTechEntities())
{
DbContext.Configuration.ProxyCreationEnabled = false;
DbContext.Database.Connection.Open();
List<Project> myProjects = new List<Project>();
myProjects = DbContext.Projects.Include("TimeTrackings").Where(p => p.CustomerID == customerid && p.Category.CategoryID == 5 && p.Customer.City == "NY" && p.Status.StatusID == 1 && p.Priority.PriorityID == 2).Select(s => new
{
pridesc = s.Priority.Description,
s.Notes,
stadesc = s.Status.Description
});
return myProjects;
}
}
catch (Exception ex)
{
throw ex;
}
}
3 番目のクエリでは、必要な列を選択できます。「プロジェクト」変数を返すことができないことを除いて、クエリ全体は問題ありません。次のデザイン タイム コンパイル エラーが発生します。
public List<String> GetProjectByCustomerID(Int16 customerid)
{
try
{
using (YeagerTechEntities DbContext = new YeagerTechEntities())
{
DbContext.Configuration.ProxyCreationEnabled = false;
DbContext.Database.Connection.Open();
var project = DbContext.Projects.Include("TimeTrackings").Where(p => p.CustomerID == customerid && p.Category.CategoryID == 5 && p.Customer.City == "NY" && p.Status.StatusID == 1 && p.Priority.PriorityID == 2).Select(s => new
{
pridesc = s.Priority.Description,
s.Notes,
stadesc = s.Status.Description
}).ToList();
return project;
}
}
catch (Exception ex)
{
throw ex;
}
}
2 番目と 3 番目のクエリを返す正しい方法 (構文的にも) は何ですか?
コード ビハインドで 3 番目のクエリを実行し、"var" 変数をデータ ソースとしてグリッドにバインドできることがわかっています。ただし、中間層クラスからフロント エンドに 2 番目と 3 番目のクエリ タイプを正常に戻す方法を誰かが教えてくれれば、非常にありがたいです。