您能以某种方式使查询过载吗?

问题描述 投票:0回答:1

所以有一个Customer和一个Seller,它们都是User。它们之间的唯一区别是卖方有NameOfBusiness,而客户没有。

在DAL中,我有此代码:

 public void CreateCustomer(UserDTO u)
 {
     using (SqlConnection con = new SqlConnection(connectionString))
     {
         string query = "INSERT INTO [dbo].[User](FirstName, LastName, UserName, Password, HouseNumber, Adress, Zip) " +
             "VALUES(@FirstName, @LastName, @UserName, @Password, @HouseNumber, @Adress, @Zip)";
         using (SqlCommand cmd = new SqlCommand(query, con))
         {
             cmd.Parameters.Add("@FirstName", System.Data.SqlDbType.NVarChar).Value = u.FirstName;
             cmd.Parameters.Add("@LastName", System.Data.SqlDbType.NVarChar).Value = u.LastName;
             cmd.Parameters.Add("@UserName", System.Data.SqlDbType.NVarChar).Value = u.UserName;
             cmd.Parameters.Add("@Password", System.Data.SqlDbType.NVarChar).Value = u.Password;
             cmd.Parameters.Add("@HouseNumber", System.Data.SqlDbType.Int).Value = u.Housenumber;
             cmd.Parameters.Add("@Adress", System.Data.SqlDbType.NVarChar).Value = u.Adress;
             cmd.Parameters.Add("@Zip", System.Data.SqlDbType.NVarChar).Value = u.Zip;

             cmd.ExecuteNonQuery();
         }
     }
 }


public void CreateSeller(UserDTO u)
{
    using (SqlConnection con = new SqlConnection(connectionString))
    {
        string query = "INSERT INTO [dbo].[User](FirstName, LastName, UserName, Password, HouseNumber, Adress, Zip, NameOfBusiness) " +
            "VALUES(@FirstName, @LastName, @UserName, @Password, @HouseNumber, @Adress, @Zip, @NameOfBusiness)";
        using (SqlCommand cmd = new SqlCommand(query, con))
        {
            cmd.Parameters.Add("@FirstName", System.Data.SqlDbType.NVarChar).Value = u.FirstName;
            cmd.Parameters.Add("@LastName", System.Data.SqlDbType.NVarChar).Value = u.LastName;
            cmd.Parameters.Add("@UserName", System.Data.SqlDbType.NVarChar).Value = u.UserName;
            cmd.Parameters.Add("@Password", System.Data.SqlDbType.NVarChar).Value = u.Password;
            cmd.Parameters.Add("@HouseNumber", System.Data.SqlDbType.Int).Value = u.Housenumber;
            cmd.Parameters.Add("@Adress", System.Data.SqlDbType.NVarChar).Value = u.Adress;
            cmd.Parameters.Add("@Zip", System.Data.SqlDbType.NVarChar).Value = u.Zip;
            cmd.Parameters.Add("@NameOfBusiness", System.Data.SqlDbType.NVarChar).Value = u.NameOfBusiness;

            cmd.ExecuteNonQuery();
        }
    }
}

是否有办法使查询超载或更改查询,以便可以为NameOfBusiness填写NULL

所以有一个客户和一个卖方,他们都是用户。它们之间的唯一区别是卖方拥有NameOfBusiness,而客户则没有。在DAL中,我有以下代码:public void ...

c# sql asp.net-core-mvc dto
1个回答
1
投票

选项A几乎不执行任何操作

© www.soinside.com 2019 - 2024. All rights reserved.