2016-06-15 15 views
1

Sql ServerDapperライブラリを使用していますか? Single Entity ClassにSql ResultSetをフィルタリングするために、とComplex Sql Queriesを使用して必要なパラメータを渡すことは可能ですか?複合SQLを書くにはどのように述語を使用するか(Dapperを通して)

SELECT * FROM Config.Country 
INNER JOIN Config.State 
ON Config.State.CountryId = Config.Country.CountryId 

エンティティクラスは、次の構造を持つことができます。私が知っている

public sealed class CountryStateReadDto 
{ 
    //Country table 
    public byte CountryId { get; set; } 
    public string CountryName { get; set; } 
    public string CountryCode { get; set; } 
    public string ISOCode { get; set; } 
    public string DailingCode { get; set; } 
    public string WebCode { get; set; } 
    public double Longitude { get; set; } 
    public double Latitude { get; set; } 

    //State table 
    public short StateId { get; set; } 
    public string StateName { get; set; } 
} 

は、ちょうどSingle Table onlyため、仕事をしていません美しいDapper-Extensionプロジェクトがあります。

Complex Sql Queriesを書いて、好ましくはPredicatesを使用する必要があります。誰かがヒントを提供することで私を助けてくれますか、それともソリ​​ューションも非常に役立つでしょうか?

Predicateが理想的な解決策ではない場合は、Predicateよりも優れた点がありますか?

注:上記のSqlの例は単なる単純なクエリであり、> 10個のテーブル結合で複雑な クエリがあります。

答えて

0

私はあなたのビューの設定をしたら、Dapperのでの作業は非常に簡単になり

Create View StateDetails 
SELECT * FROM Config.Country 
INNER JOIN Config.State 
ON Config.State.CountryId = Config.Country.CountryId 

ビューを作成することをお勧め。

+0

これは多くの意味があります。 –

関連する問題