SQLサーバー上でUDFを作成します。それをfnCompanyDetailsと名づけましょう。いくつかのジョイントテーブルから企業に関する情報を選択します。 それから、私のVBプロジェクトの新しい.dbmlにこの関数をドラッグ&ドロップします。私はLINQでそれを使用したい。このようなSmth:LINQ to SQLとユーザー定義関数によるSubmitChanges
Dim company = (From c In d.fnCompanyDetails(sap)
Select New With {
.Sap = c.txtSAP,
.CompanyName1 = c.txtCompanyName1, _
.CompanyName2 = c.txtCompanyName2, _
})
このクエリの結果は、ユーザーにフォームで表示されます。いくつかのフィールドが変更された場合、私のデータベースに変更を送信したいのですが、UDFからこのように見ているなら、これは可能でしょうか? ありがとう
ありがとう、アンダース!これらのエンティティオブジェクトでは、テーブルに変更をアップロードするためにこのオブジェクトがデータベーステーブルの構造を繰り返す必要があることを意味しますか?そして、私はすべてのデータベースロジック(すべてのUDF、SP、ビューなど)をSQLサーバーに持たせたい場合(コード内でLINQを使用してそれらを構築しないことを意味します)、データセットを使用する方が良いでしょう。 LINQに行くよりも? – kzub
デザイナーの表面にテーブルをドラッグすると、エンティティオブジェクトが自動的に作成されます。 linq-to-sqlの目的は、ビジネスロジックをすべて(ほぼ)コードに配置することです。 UDFまたはSPを使用している場合は、他にも優れたオプションが存在する可能性があります。 –
このケースでは、LINQの概念全体をよく理解していません。(テーブル全体を選択しなければならない場合は、生成されたクラスにマップし、そこから更新して挿入する必要があります。 エンティティオブジェクト "tblCompany"をUDFから返された結果から取得しましたが、 "エンティティタイプ 'tblCompany'の明示的な構築はクエリで許可されていません"というエラーが発生しました。クラシックなADO.Netでうまくいく – kzub