EntityFrameworkに頭を悩ませようとしています。トランザクションに関する情報を含む2つのテーブルを持つデータベースがあります。1つはトランザクションカテゴリ情報を含み、トランザクションテーブル(transactions.Category <=> Category.CategoryID)に1対1でリンクされています。カテゴリエンティティが入力された状態でメモリ内に新しいトランザクションを作成できますが、DBにフラッシュしようとすると、「{"無効なオブジェクト名'mEconomyUser.category'。"}」が表示されます。
トランザクションテーブル:
TransactionID uniqueidentifier
UserID uniqueidentifier
Date date
Text nvarchar(250)
Category uniqueidentifier
Amount decimal(18, 0)
カテゴリ表:
CategoryID uniqueidentifier
UserID uniqueidentifier
Text nvarchar(50)
これが私のモデルです:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
namespace mEconomy.Models
{
[Table("transactions", Schema = "mEconomyUser")]
public class Transaction
{
[Key]
public Guid TransactionID { get; set; }
public Guid UserID { get; set; }
public DateTime Date { get; set; }
public string Text { get; set; }
public virtual Category Category { get; set; }
public decimal Amount { get; set; }
}
public class TransactionDBContext : DbContext
{
public DbSet<Transaction> Transactions { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
namespace mEconomy.Models
{
[Table("category", Schema = "mEconomyUser")]
public class Category
{
[Key]
[ForeignKey("Transaction")]
public Guid CategoryID { get; set; }
public Guid UserID { get; set; }
public String Text { get; set; }
public virtual Transaction Transaction { get; set; }
}
public class CategoryDBContext : DbContext
{
public DbSet<Transaction> Categorys { get; set; }
}
}
助言がありますか?