【发布时间】:2014-09-16 08:38:44
【问题描述】:
我需要在三层架构中开发一个项目..但我不知道如何在项目中使用 linq 以及我应该在哪一层使用..以下是我的三层代码 业务层、数据访问层和表示层、用于声明表变量的业务对象层
业务对象层
namespace BusinessObject
{
public class UserBO // Declare Class Public to Access any where
{
//Declaring UserInfomation Variables
private string _Id;
private string _LogInName;
private string _FirstName;
private string _LastName;
private string _EmailAddress;
private string _Password;
public string Id
{
get { return _Id; }
set { _Id = value; }
}
// Get and set values
public string LogInName
{
get { return _LogInName; }
set { _LogInName = value; }
}
public string FirstName
{
get { return _FirstName; }
set { _FirstName = value; }
}
public string LastName
{
get { return _LastName; }
set { _LastName = value; }
}
public string EmailAddress
{
get { return _EmailAddress; }
set { _EmailAddress = value; }
}
public string Password
{
get { return _Password; }
set { _Password = value; }
}
数据访问层
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ToString());
public int AddUserDetails(UserBO objbo) // passing Bussiness object Here
{
try
{
/* Because We will put all out values from our (UserProfile.aspx)
To in Bussiness object and then Pass it to Bussiness logic and then to
DataAcess
this way the flow carry on*/
SqlCommand cmd = new SqlCommand("USERINFORMATION", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Id", objbo.Id);
cmd.Parameters.AddWithValue("@LogInName", objbo.LogInName);
cmd.Parameters.AddWithValue("@FirstName", objbo.FirstName);
cmd.Parameters.AddWithValue("@LastName", objbo.LastName);
cmd.Parameters.AddWithValue("@EmailAddress", objbo.EmailAddress);
cmd.Parameters.AddWithValue("@Password", objbo.Password);
con.Open();
int result = cmd.ExecuteNonQuery();
cmd.Dispose();
return result;
}
catch
{
throw;
}
}
【问题讨论】:
-
LINQ 与应用层有什么关系?
-
Linq to SQL 与这个问题有什么关系,您的代码使用的是 ADO.net
-
我想通过 linq 查询 @patrick 将数据插入到数据库中。
-
ya @ben 但我想将 linq 转换为 SQL
-
顺便说一句,另请阅读 C# 自动属性。你不能从屋顶开始建造房子。