私はすでにthis questionを読んでおり、 EFバージョン6では、私が正しく理解している場合、それはMyEntityの両方のバージョンがが同じDbContextを投げた場合にのみ起こるはずですが、これは私のケースではありません。タイプ 'Module1.MyEntity'とタイプ 'Module2.MyEntity'はどちらも同じMyEntityという単純な名前なので、同じモデルでは使用できません
私が持っている:
public class Module1Context : DbContext
{
public DbSet<Module1.MyEntity> MyEntities { get; set; }
...
}
、その後、別のファイルに:
public class Module2Context : DbContext
{
public DbSet<Module2.MyEntity> MyEntities { get; set; }
...
}
私がオンライン見つけたこの問題へのすべての参照は同じ DbContextを使用している人々に起こります。私の質問は、「同じモデル」には使用できないと言うとき、モデルとはどういう意味ですか?それはDbContextではありませんか?もしそうなら、私のコードは正常に動作するべきではありませんか?
リンク先の記事は、ModelFirstまたはDatabaseFirstのプラクティスを使用している場合、同じアプリケーション内のどこでも同じ名前の2つのエンティティで発生すると思われます。 – Eris
"同じアプリケーション"がWeb MVC/APIアプリケーションである場合、DbContextとほぼすべてのライフスパンが要求ごとであるため、問題ではありません。 Module1.MyEntityはMVCコントローラから使用され、Module2.MyEntityはAPIから実際に使用されます。 – slashCoder
これは、EDMXファイルの処理方法が原因と考えられます。指定された唯一の解決策は、非推奨のEDMXの代わりにCodeFirstを使用することです。あなたは頼みになりますか? EDMXはEF-Coreとしてサポートされなくなりました – Eris