【问题标题】:Using of Linq to SQL in Three tier architecture in asp.net 4.5 [closed]在 asp.net 4.5 的三层架构中使用 Linq to SQL [关闭]
【发布时间】: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# 自动属性。你不能从屋顶开始建造房子。

标签: c# sql asp.net linq


【解决方案1】:

三层应用包含以下内容:

1) 表示层 -> 它直接处理用户的示例 html 页面。

2) 业务逻辑层 -> 用于在通过数据逻辑层发送到数据库之前对数据和对象进行验证。 验证可以分两个阶段完成 1)关于 POST 方法:基本上用于那些用于将数据保存、更新或删除到数据库的方法。 2)关于GET方法:主要用于实体用来在前端显示数据的那些方法。 示例:在前端显示用户名或列表。

3) 数据逻辑层:用于向数据库发送数据和接收数据。

因此,作为总结表示层 ->(发送数据/对象)-> 业务逻辑层(验证数据)-> 数据逻辑层(发送/接收)来自数据库的数据。

使用 Linq 可以通过以下资源实现:

Linq usage with n-tier application

Linq learning resource

【讨论】:

    猜你喜欢
    • 2010-11-04
    • 2010-10-24
    • 2011-10-02
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    相关资源
    最近更新 更多