-1
Entity Frameworkコンテキストを使用しているデータベースにはビューがあります。 vwReportMonths。返されるのは、報告が必要なテーブルのレコードの月の開始日に対応する日付のセットです。ビューは正常に動作し、適切な日付を返します。Entity Frameworkはデータベースビューを見つけることができません
私は
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cards
{
public class ReportMonthView
{
public DateTime CardMonth { get; set; }
}
}
私のモデルを作成したと私は、マッピングクラスを作成しました:
using Card;
using System;
using System.Collections.Generic;
using System.Data.Entity.ModelConfiguration;
using System.Linq;
using System.Text;
namespace DAL.Card.Mapping
{
class ReportMonth_Mapping : EntityTypeConfiguration<ReportMonthView>
{
public ReportMonth_Mapping()
{
ToTable("dbo.vwReportMonths");
HasKey(x => x.CardMonth);
}
}
}
そして私は、私が使用してコンテキスト内で私のOnModelCreatingメソッドにマッピングを追加します。
modelBuilder.Configurations.Add(new TrendReportMonth_Mapping());
また、コンテキスト内でDbSetを作成しました。
public DbSet<ReportMonthView> ReportMonths { get; set; }
しかし、私は私のアクセスコントローラからビューにアクセスしようとすると、それは無効なオブジェクト名をスロー「dbo.vwReportMonthView」
public JsonResult GetReportMonths() {
var data = _safetyContext.TrendReportMonths;
return Json(data, JsonRequestBehavior.AllowGet);
}
私は何をしないのですか?私はEFと昨日のエピファニーがあると思ったが、明らかにそうではなかった。
すべてのヘルプをもう一度おねがいします。
ToTable( "vwReportMonths")を試しましたか? ? –
はい、私はToTable( "CardDB.dbo.vwReportMonths")とToTable( "CardDB.vwReportMonths")も同じ結果を試しました。 –
他のすべてのDbSetsが動作し、設定を確認しましたか? –