Entity Frameworkに入門し、よくある2つの問題を解決する方法.

2029 ワード

データモデルを作成した後、次のようなテストクラスを書いてみます.
 1 using System;

 2 using NorthwindModel;

 3 

 4 public partial class DerivedObjectContext : System.Web.UI.Page {

 5     protected void Page_Load(object sender, EventArgs e) {

 6         NorthwindEntities db = new NorthwindEntities();

 7 

 8         GridView1.DataSource = db.Products;

 9         GridView1.DataBind();

10     }

11 }

しかし、ランタイムは次の異常を示します.
using System;using NorthwindModel;
public partial class DerivedObjectContext : System.Web.UI.Page {protected void Page_Load(object sender, EventArgs e) {NorthwindEntities db = new NorthwindEntities();
GridView1.DataSource = db.Products;GridView1.DataBind();}}
 
解决方法:プラス.ToList()
GridView1.DataSource = db.Products.ToList();

 
次に実行し、次の異常を報告します.
The type 'Products' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities
 
解決方法:
データモデルのコード自動生成機能をオフにし、コードを次の形式に変更します.
public partial class Ch13LINQ_DerivedObjectContext : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        NorthwindEntities db = new NorthwindEntities();



        GridView1.DataSource = db.Products.ToList();

        GridView1.DataBind();



        

    }

}

注、上のコードはusing NorthwindModelではありません.