Я знаю, что люди будут кричать, что эта тема повсюду в Интернете.Я знаю, я прочитал их.И я до сих пор не понимаю этого.Я просто хочу заполнить свой объект из результатов хранимой процедуры.Теперь эта хранимая процедура принимает как минимум 2 параметра - действие и что найти.
@Action
@customername
@Action
просто определите, что должна делать хранимая процедура, и вернет результаты.Так, например, если я хочу обновить клиента, я бы вызвал sp через мой объект:
public class Customer()
{
//properties
public int UpdateCustomer()
{
using (SQLConnection connection = new SqlConnection(Helper.CnnVal("DataConnection")))
{
SQLCommand = new SqlCommand(Helper.Procedure("Customer"), connection);
command.CommandType = CommandType.StoredProcedure;
SqlParameterCollection parameterCollection = command.Parameters;
parameterCollection.Add("@Action", SqlDbType.NVarChar, -1).Value = "Update"
//complete the rest of it....
}
}
}
Это работает хорошо.Таким образом, проблема возникает, когда я просто хочу заполнить объект результатами sp.В этом случае я бы передал «Retrieve» в качестве параметра @Action
и this.customer_name
в качестве параметра @customername
в sp.
Но как мне поместить результаты хранимой процедуры в объект?
У меня есть это ...
public void GetCustomer()
{
using (SQLConnection connection = new SqlConnection(Helper.CnnVal("DataConnection")))
{
var retrieval = new DynamicParameters();
retrieval.Add("@Action", "Retrieve");
retrieval.Add("@name", this.customer_Name);
connection.Open():
connection.Execute(Helper.Procedure("Customer"), retrieval, commandType: CommandType.StoredProcedure);
}
}
Но я не думаю, что это работает,
Давным-давно я запускал «выборку» для PHP, когда мне нужно было заполнить объект.Должен ли я вернуться к этому?