所以有一个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 ...