0

私は2つのプロジェクトを持っています。モバイルアプリケーションと標準のWebサイト。

Entity Framework-Code Firstを使用して、2つのプロジェクト間でモデルを共有したいと思います。

どうすればこれを達成できますか?

私はこのQ: MVCと個別のプロジェクトを見ましたが、これはDTOを個別のアセンブリにのみ配置する必要があるという意味ですか?

  1. ビューモデルとDTOの両方を別のプロジェクト内に配置することは可能ですか、および/または賢明ですか?

  2. もしそうなら、この別のアセンブリ内にモデルクエリを配置することもできますか?

そして、私の考えを投影するのに役立つ例:

        ExtAssembly.Product product = new ExtAssembly.Product();
        product.Name = "Dave";

        ExtAssembly.ProductQueries.Create(product);

        var products = ExtAssembly.ProductQueries.Search("Dave");
4

1 に答える 1

1

ビューモデルとDTOの両方を別のプロジェクト内に配置することは可能ですか、および/または賢明ですか?

はい、それは可能ですが、それは正しい分離ではないかもしれません。ビューモデルは通常、ビューにバインドされているため、通常、モデルよりもビューの近くにとどまります。ここでDTOがどのような役割を果たしているかはわかりませんが、DTOがどのような懸念(M、V、またはC)を所有しているかを自問し、そこでグループ化する必要があります。

もしそうなら、この別のアセンブリ内にモデルクエリを配置することもできますか?

あなたの例に基づいて、モデルとモデルクエリを別々のアセンブリに配置することは賢明なようです。モデルが新しいプロジェクトに分離されるのを何度も見てきました。質問で述べている理由から、モデルをコントローラーと同じアセンブリにパッケージ化したり、表示したりすることは必ずしも意味がありません。

つまり、通常、モデル(コアビジネスロジックが存在する場合)を複数のUIに使用する必要があります。

于 2013-03-03T22:56:41.613 に答える