私はこれを動作させることができました。主な問題は、DotNet 4.51 DataLayerクラスライブラリプロジェクトのDotNet CoreプロジェクトのIdentity 3によって生成されたAspNetUsersテーブルにアクセスしたがっていることです。
これは、クラスライブラリEF 6プロジェクトでUser.cs Entityクラスを作成し、そのプロパティがIdentity 3で生成されたApplicationUser.csクラスの列と一致することを確認することで実現しました。
ユーザー。CS
public class User{
[Key]
public string Id { get; set; }
public int AccessFailedCount { get; set; }
public string ConcurrencyStamp { get; set; }
public string Email { get; set; }
public bool EmailConfirmed { get; set; }
public bool LockoutEnabled { get; set; }
public DateTimeOffset? LockoutEnd { get; set; }
public string NormalizedEmail { get; set; }
public string NormalizedUserName { get; set; }
public virtual string PasswordHash { get; set; }
public string PhoneNumber { get; set; }
public bool PhoneNumberConfirmed { get; set; }
public virtual string SecurityStamp { get; set; }
public bool TwoFactorEnabled { get; set; }
public string UserName { get; set; }
}
私はその後、私は私のユーザーエンティティのDbSetを追加AspNetUsersテーブルに
UserConfiguration.cs私DbContextクラスで
public class UserConfiguration : EntityTypeConfiguration<User>
{
public UserConfiguration()
{
ToTable("AspNetUsers");
}
}
をマッピングするEntityConfigurationを設定します。
public virtual IDbSet<User> Users { get; set; }
次に、Add-Migrationコマンドを実行して、変更を足場に乗せました。生成されたら、私はコードをコメントアウトし、データベースに移行を適用しました。これにより、AspNetUsersテーブルの__MigrationsHistoryテーブルに行が生成されますが、テーブルの再作成は行われません。
私はその後、正常DataLayer EF6プロジェクトからAspNetUsersテーブルに話をすることができました:)
また、それは私がまた私のUser.csクラスにプロパティを追加することによって、今カスタム列でAspNetUsersテーブルを拡張することができるようですEF6 Datalayerプロジェクトで移行を実行します。
ありがとう、私はこれを正しく理解していますか?.NETコアプロジェクトはID 3を使用し、.NET 4.5.2プロジェクトにはID 2がインストールされていますか?アイデンティティ2と3の両方がApplicationDbContextを作成します - このApplicationDbContextはDataLayerにありますか?次に、これらのプロジェクトの両方が、ApplicationDbContextから拡張されたDbContextを持つDatalayer(.Net 4.5.2)への参照を持っていますか?私が理解する限り、アイデンティティ3とアイデンティティ2はわずかに異なるデータベーススキーマを作成すると思っていたので、ちょっと混乱します。 – user1750537
私の主な問題は、DataLayer .net 452 DbContextがID 3の.NETコアプロジェクトによって作成されたIDテーブルにアクセスできるようにすることです。 – user1750537
ID 2と3はわずかなスキームの変更があります。ベースエンティティを作成し、追加のプロパティを持つ他のエンティティに派生させることで克服できるもの... ID 2と3に対して同じデータベースを使用したい場合は、すべての列をデータベースに格納する必要があります。他のバージョンのIDがこれらの列をサブセット化するように、どのエンティティをデータベースに入れる必要があるかを決定します。 – Venky