1

私自身のプロジェクトでは、RavenDB を使用しています。仕事では、SQL Server と Entity Framework (コード ファースト) を使用しています。

そのため、ドメイン エンティティの設計は課題です。データベースの実装にまったく結び付けられていない、アプリケーション中心の DDD スタイルのアプリケーションを作成する RavenDB の機能を本当に楽しんでいるからです。

現時点では、システム内の他のエンティティを参照する GUID のコレクションを持つエンティティを永続化しようとしています。例(実際のクラスではなく、同じ概念):

public class Thing
{
    public Thing()
    {
        this.VisibleSectionIds = new Collection<Guid>();
    }

    public Guid Id { get; set; }

    public string Name { get; set; }

    public ICollection<Guid> VisibleSectionIds { get; set; }
}

RavenDB を使用すると、データベースを再設計する必要なく、数行のコードでこれを維持できます。ID のコレクションを読み取り専用にすることもできます。

他のエンティティにマッピング プロパティを導入せずに EF で同様のことを行う方法を提案できますか (これは私の DDD アプローチを破り、N+1 の問題を引き起こす可能性があります)。EF を使用して、GUID のコレクションをデータベース内のテキスト データ型に変換し、再度変換することはできますか?

4

0 に答える 0