Я использую Simple.Data, и у меня есть вопрос.Simple.Data - Сопряжение первичного ключа
Я следующие классы:
public abstract class User
{
public int Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string Salt { get; set; }
}
public class Customer : User
{
public string Email { get; set; }
}
public class Admin : User
{
public string Name { get; set; }
public bool IsActive{ get; set; }
}
И класс, который делает действия в базе:
public class Manager
{
public string ConString { get; set; }
public Manager()
{
ConString = ConfigurationManager.ConnectionStrings["Test"].ConnectionString;
}
public void CustomerUpdate()
{
var obj = new Customer()
{
Id = 1,
Username = "teste",
Password = "teste",
Salt = "",
Email = "[email protected]"
};
var db = Database.OpenConnection(conString);
db.tbCustomer.Update(obj);
}
public void AdminUpdate()
{
var obj = new Admin()
{
Id = 1,
Username = "teste",
Password = "teste",
Salt = "",
Name = "teste",
IsActive = true
};
var db = Database.OpenConnection(conString);
db.tbAdmin.Update(obj);
}
}
Но, у меня есть проблема:
В моей дб, в таблица tbCustomer, Первичный ключ - столбец «CustomerId». И основным ключом таблицы tbAdmin является столбец «AdminId». Поскольку класс User имеет свойство «Id», я не могу выполнять обновления.
Есть ли какой-либо способ, с помощью которого я указываю, когда вы даете обновление в таблице tbCustomer, система принимает свойство «Id» и вводит столбец «CustomerId»? То же самое для tbAdmin. Я хочу, чтобы он взял «Id» и поместил его в «AdminId».
Спасибо Я пытался уйти от этого метода. Мне это удалось. Добавлены свойства для классов Customer и Admin, и они возвращают Id Ex .: public int AdminId {get {return Id; }} –