私は EF、C#、MVC を同時に学ぼうとしているので、これが少し基本的なことでしたら申し訳ありません。
SQL Server ストアド プロシージャからモデルに結果セットを取得しようとしています。
EDMX ファイルを作成し、ストアド プロシージャをインポートしました。結果セットは cs ファイルに存在します。以下を参照してください。
public partial class prBGGetYourTasks_Result
{
public int CompanyTaskID { get; set; }
public int TaskID { get; set; }
public string TaskName { get; set; }
public string TaskDescription { get; set; }
public System.DateTime StartDate { get; set; }
public System.DateTime EndDate { get; set; }
public string TimeLeft { get; set; }
public string Status { get; set; }
}
次に、Task という名前の正確な定義を使用して、models フォルダーにクラスを作成しました。
次のコードを使用して、SP の結果をモデルに入力しようとしています。
public class TaskList : List<Task> {
public TaskList GetTasks()
{
BGEntities BGDB = new BGEntities();
TaskList task_list = new TaskList();
task_list = BGDB.prBGGetYourTasks(HttpContext.Current.User.Identity.Name).ToList();
return task_list;
}
}
ただし、「タイプ「Genric.List」を「Task.TaskList」に暗黙的に変換することはできません。結果タイプの変数を試し、結果セットタイプにキャストしようとしました。
私も間違った方法で行っている場合は、アドバイスしてください。
私は以前、SQL リーダーとループを使用してモデルにデータを入力しましたが、もっと良い方法が必要だと思います。