2011-12-19 7 views
0

私はasmx Webサービスを作成しており、LinqToSQLを使用してデータベースを処理しています。LinqToSQLで生成されたクラスをWebサービスで公開することはできますか?

LinqToSQLで生成されたクラスを引数として使用したり、Webメソッドで値を返すのは簡単ではないようです。このよう : "会う"

[WebMethod] 
public OperationResult Meet_ListMeets(string clientToken, out meet[] meets) 
{ 
    ServiceMeet s = new ServiceMeet(sqlCon, clientToken); 
    return s.ListMeets(out meets); 
} 

はLinqToSQLクラスです。 私は、クラスがすべての依存関係(データベース内の外部キーで会うことを指示する他のクラスなど)を含むWSDL複合型として公開されていることがわかりました。

主な質問は「クラスをそのように使うのは良い習慣ですか?」です。セキュリティはどうですか? ラッパークラスを使用してエンティティ構造を非表示にする必要がありますか?

答えて

1

良い方法ではありません。問題が発生する可能性があります。ワイヤーの下に余分な裂け目のすべてのオーバーヘッドは言うまでもなく。

私が過去にしたことは、電線を実際に送信する必要があるフィールドだけでモデルを作成し、実際のオブジェクトに戻ってくるときに地図に戻すことです。手動でマッピングするか、.NET用の多くのマッピングツールキット(NuGetを参照)のいずれかを使用してマッピングします。

関連する問題