Вставьте внешний ключ в базу данных, используя dapper в c # - PullRequest
0 голосов
/ 12 марта 2019

Хочу вставить в sql таблицу с внешним ключом в c # с помощью dapper, вот мой код. Когда я делаю это таким образом, это дает мне ошибку преобразования.

public class LoanModel
{
    public int ID { get; set; }
    public CustomerModel CustomerID { get; set; }
    public int Amount { get; set; }
    public InterestModel Interest { get; set; }
    public DateTime Date { get; set; }
}

Это метод, заполняющий сетку данных:

List<LoanModel> Loans = new List<LoanModel>();

public void FillCustomersDataGridview()
{
    try
    {
        DataAccess.ShowLoan(SearchCustomTextBox.Text.Trim());
        dataGridView1.DataSource = Loans;
    }
    catch (Exception ERE)
    {
        MessageBox.Show($"An error occured: {ERE.Message}");
    }
}

Это метод, который вставляет данные в базу данных:

public static void GetLoan(int id, int customerID, int amount, int interest, DateTime loanDateDateTimePicker)
{
    using (IDbConnection Con = new SqlConnection(Helper.ConnectionString("DatabaseConnection")))
    {
        LoanModel Loan = new LoanModel { ID = id, CustomerID = customerID, Amount = amount, Interest = interest, Date = loanDateDateTimePicker };
        List<LoanModel> newLoan = new List<LoanModel>();
        newLoan.Add(Loan);
        Con.Execute("spGetLoan @ID, @CustomerID, @Amount, @Interest, @Date", newLoan);
    }
}

1 Ответ

0 голосов
/ 12 марта 2019

Почему у вас есть пароль для вставки данных в базу данных времени.

Ваш запрос

List<LoanModel> newLoan = new List<LoanModel>();
                    newLoan.Add(Loan);
                    Con.Execute("spGetLoan @ID, @CustomerID, @Amount, @Interest, @Date", newLoan);

Пожалуйста, передайте только модель

Con.Execute("spGetLoan @ID, @CustomerID, @Amount, @Interest, @Date", Loan);
...