8
私は次のシナリオでデシベル世代に問題があります。Entity Frameworkのコードファーストと同じ名前を持つが、異なる名前空間内の2つのエンティティは
namespace First.Entities
{
#region using section
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.ModelConfiguration;
using System.Diagnostics.CodeAnalysis;
#endregion
[Table("First_Project")]
public class Project
{
[Key]
public int Id
{
get;
set;
}
[Required]
[MaxLength(1000)]
public string Name
{
get;
set;
}
}
}
2.cs Second.PropertiesテーブルにマップされたSecond.Entities名前空間のプロジェクトエンティティ。
namespace Second.Entities
{
#region using section
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.ModelConfiguration;
using System.Diagnostics.CodeAnalysis;
#endregion
[Table("Second_Project")]
public class Project
{
[Key]
public int Id
{
get;
set;
}
[Required]
[MaxLength(1000)]
public string Name
{
get;
set;
}
}
}
3.csは助けてください
namespace DataContext
{
#region using section
using System.Collections.Generic;
using System.Data.Common;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Diagnostics.CodeAnalysis;
using First.Entities;
using Second.Entities;
#endregion
public class MyEntities : DbContext
{
public DbSet<First.Entities.Project> FirstProjects { get; set; }
public DbSet<Second.Entities.Project> SecondProjects { get; set; }
}
}
ファイルDbContext。
どのようなエラーが発生しますか?何が助けを必要としますか? –
このようなシナリオでは、データベースを作成することはできません。エラー: – mehanik
タイプ 'Second.Entities.Project'がマップされませんでした。 IgnoreメソッドまたはNotMappedAttributeデータ注釈を使用して、型が明示的に除外されていないことを確認します。型がクラスとして定義されていて、プリミティブ、ネストまたはジェネリックではなく、EntityObjectから継承していないことを確認してください。 – mehanik