我目前正在开发一个集成项目以连接两个不同的系统。
我的计划是设置一个 HTTP-API 以允许系统 A 通过 HTTP-POST 向系统 B 发出命令。
这些命令将用于向 SQL 服务器数据库发出 CRUD 指令以检索和更新会员卡数据(例如“创建会员” '、'更新成员资格'等),然后将数据作为 XML 返回到系统 A。我知道 n 层设计要求我应该有一个具有多个属性的 MembershipCard 类:
public class MembershipCard
{
private string number;
private decimal points;
public string Number
{
get { return number; }
set { number = value; }
}
public decimal Points
{
get { return points; }
set { points = value; }
}
连同调用 DAL 的几种方法:
public string GetPoints(string cardnumber)
{
return MembershipCardDB.BalanceRequest(cardnumber);
}
但是,我在将这种方法证明为静态 DAL 类时遇到了一些困难,MembershipCardDB 似乎执行了我需要的所有工作(见下文):
public static string BalanceRequest(string cardNumber)
{
string response = string.Empty;
string sqlselect =
"SELECT Balance " +
"FROM tbl_MemberShipCard " +
"WHERE Card_No = @cardNumber " +
"FOR XML PATH ('Card'), ROOT('CardBalance')";
using (SqlConnection connect = new SqlConnection("Data Source=TEST\\TEST;Initial Catalog=TEST;User Id=sa;Password=TEST"))
{
connect.Open();
using (SqlCommand command = new SqlCommand(sqlselect))
{
command.Parameters.AddWithValue("@cardNumber", cardNumber);
response = (string)command.ExecuteScalar();
}
}
return response;
}
通过简单地删除 MembershipCard 类并从数据库中提取数据并将其格式化为 XML 有什么我忽略的吗?