Я пытаюсь разработать лучший способ разработки класса, который сохраняет свои свойства в базе данных. Возьмем базовый пример a Person
. Чтобы создать нового человека и поместить его в базу данных, я хочу, чтобы свойство DateOfBirth
было необязательным (т.е. NULLable в БД).
Вот мой пример кода:
namespace BusinessLayer
{
class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }
}
}
Я не уверен, должны ли поля быть общедоступными или нет. Должен ли я сделать это следующим образом:
class Program
{
static void Main(string[] args)
{
Person person1 = new Person("Kate","Middleton",null);
}
}
или вот так:
class Program
{
static void Main(string[] args)
{
Person person1 = new Person();
person1.FirstName = "Kate";
person1.LastName = "Middleton";
}
}
Мне также интересно, как я должен иметь дело с необязательными свойствами класса. После заполнения полей, как я могу сохранить их в БД? У меня есть класс DatabaseComponenet для сохранения информации. Как я могу использовать опцию при сохранении в базе данных?
Итак, я бы сделал что-то вроде этого:
public int Save()
{
int personId;
personId = DatabaseComponent.InsertPerson(FirstName, LastName, DateOfBirth);
return personId;
}
Спасибо за любую помощь! Также были бы оценены некоторые полезные URL-адреса для дизайна хорошего класса.