DBビューからデータを読み込む

私はasp.net MVCを初めて使っています。私は、データベースビューからデータを取得し、それを私のモデルにマップしたいと思っています。モデルクラスは、ビューと同じプロパティーセットを持ちます。私はテーブルの代わりにdbビューからデータを得ることができる方法はありますか(テーブルはコードのために自動的に作成されます)。

私のモデルは次のようになります:

public class Product{

    public long ID { get; set; }

    [Display(Name = "Product Code")]
    public int ProductCode { get; set; }

    [Display(Name = "Product Title")]
    public string ProductTitle { get; set; }
};

public class ProductDBContext : DbContext
{
    public DbSet Products 
    { 
        get; set; }
}
0
nl ru de
追加された 著者 ZedBee,
テーブルとまったく同じです!試しましたか?!
追加された 著者 gdoron,

2 答え

dbmlを使用していますか? dbo.Viewをdbmlにドラッグし、テーブルを使用するときに使用しますが、追加や更新はできません。

public class ProductDBContext : DbContext
{
    public ProductDBContext ()
        : base("MyConnection") //web.config
    {
    }

    public DbSet Products { get; set; }
}

// Your View:
// CREATE VIEW dbo.Product
// AS
// SELECT dbo.ProductProfile.ID, dbo.ProductProfile.ProductCode, dbo.ProductTitle.ProfileID, dbo.ProductTitle.ProductTitle 
// FROM   dbo.ProductProfile INNER JOIN
//          dbo.ProductTitle ON dbo.ProductProfile.ID = dbo.ProductTitle.ProfileID
//
[Table("dbo.Product")]  
public class Product
{
    [Key]
    public long ID { get; set; }

    [Display(Name = "Product Code")]
    public int ProductCode { get; set; }

    [Display(Name = "Product Title")]
    public string ProductTitle { get; set; }
}
0
追加された

あなたは確かにコードファーストを使ってビューにマップすることができます。Code Firstにはテーブルであり、テーブルと同じビューを使用します。明らかに、エンティティを更新しようとすると、ビューが更新可能でない場合は例外が発生します。

お役に立てれば。

0
追加された