我有一个用于查询用户定义数据库的 API 的包装库。它目前使用 DataSet、DataTable、DataRow 等运行良好。我想将其转换为可移植库以在其他平台上使用,但这些类不是可移植子集的一部分。
有什么东西可以远程等同于这些课程吗?我的库对 DataSet 所做的主要事情是将数据传输到填充业务对象的域层。
我需要的是一种将数据库表的任意表示从我的库传递到调用我的库的程序的方法,该程序适用于某种形式的可移植库,理想情况下是所有子集(不需要 Xbox),但任何东西都比我什么都好现在有。
背景
这是我正在努力解决的数据流
User Defined Database <==> My Library <==> User C# Code
可用的 API 很粗糙。我的库使查询变得更加容易,但由于我在设计时对结构一无所知,所以我解析从 API 返回的数据并将其放入 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);
}