1

ASP.NET MVC 2 プロジェクトがあります。レイヤーを切り離しました。サービス層とリポジトリ層があります。コントローラーはサービス メソッドを呼び出し、サービス レイヤーのみがリポジトリ内のメソッドを呼び出します。

問題は、リポジトリ クラスのメソッドが LINQ 結合を使用していることです。このメソッドから、結合されたテーブルからいくつかのデータをマージした型を返したいと思います。(つまり、Name = a.Name、Position = b.Position) そして、リポジトリ クラスでは常に IEnumerables を返します。したがって、この場合、(名前、位置) の新しい型を定義し、その型をリポジトリ関数から返す必要があるようです。しかし、そのクラスを別の ViewModel クラスに再マップする必要があります。(私は懸念を分離しているので、リポジトリでviewmodelクラスを使用すべきではありませんよね?)これは多くの異なるクラスにつながります。EF クラス、結合テーブルのクラス、ビューモデル クラス。

私は正しい道にいますか?

教えてください。

ありがとうございました

4

1 に答える 1

0

これらのクラスをリポジトリ レイヤーで定義することを検討してください。基本的にそれらは DTO クラスであり、あなたは私が受講したであろうトラックに乗っていたようです。

そのクラスを他の ViewModel クラスに再マップすることを期待していた理由はありますか?

public class EmpPosition()
{
    public property Name{get;set;}
    public property Position{get;set;}
}

//Repo
public IEnumerable<EmpPosition> GetEmployeePositions()
{}
于 2010-10-08T23:02:18.993 に答える