Мне сказали, что следует избегать использования сгенерированного класса записей.
То есть, если у вас есть таблица Users
, L2S создаст для вас класс User
, которыйэто то, что он возвращает из базы данных.Вместо того, чтобы использовать это напрямую, вы должны создать «теневой» класс - все те же свойства, но не более того, и немедленно скопировать данные в эти записи для вашего использования.На самом деле, если он будет предназначен только для чтения, вы можете назначить его в ctor и иметь только общедоступные методы получения:
class myUser
{
public string FName {get; private set}
public string LName {get; private set}
public myUser(User user)
{
this.FName = user.FName;
this.LName = user.LName;
}
}
var users = from u in db.Users
where .....
select new myUsers(u);
Это позволяет избежать чрезмерных затрат, необходимых для возможности записиобъект снова.