ユーザー定義データベースをクエリする API のラッパー ライブラリがあります。現在、DataSet、DataTable、DataRow などを使用してうまく機能しています。他のプラットフォームで使用するためにポータブル ライブラリに変換したいと考えていますが、これらのクラスはポータブル サブセットの一部ではありません。
これらのクラスとリモートでも同等のものはありますか? 私のライブラリが DataSet を使用して行う主な処理は、データをドメイン層に転送することです。これにより、ビジネス オブジェクトが生成されます。
私が必要としているのは、データベース テーブルの任意の表現をライブラリからライブラリを呼び出すプログラムに渡す方法です。このプログラムは、何らかの形のポータブル ライブラリ、理想的にはすべてのサブセット (Xbox は必要ありません) で動作しますが、何もないよりは何でも良いです。今持っています。
バックグラウンド
これは私が苦労しているデータフローです
User Defined Database <==> My Library <==> User C# Code
利用可能な API は端が荒いです。ライブラリを使用するとクエリがはるかに簡単になりますが、設計時には構造について何もわからないため、API から返されたデータを解析し、それを DataSet オブジェクトに入れます。エンド ユーザーは、これらの DataSet を解析して、ドメイン オブジェクトを設定します。私が探しているのは、DataSet なしでポータブル ライブラリに対してこれを行う方法です。
私のライブラリの使用例。これは、使用される DataSet/Table/Row の機能の範囲でもあります。
var myLib = new MyLib(parms);
Find request = myLib.MakeFind();
request.AddSearch("userID", 12);
DataSet response = request.Execute()
var user = new User();
user.ID = int.Parse(response.Tables[0].Rows[0]["userID"].ToString());
user.FirstName = response.Tables[0].Rows[0]["FIRST_NAME"].ToString();
user.LastName = response.Tables[0].Rows[0]["LAST_NAME"].ToString();
foreach (DataRow relatedRow in dr.GetChildRows("Logs"))
{
var lg = new LogEntry() { ID = int.ParserelatedRow["ID"].ToString()), Text = relatedRow["Text"].ToString(); };
user.Logs.Add(lg);
}