Process.GetCurrentProcess().ProcessorAffinity = (System.IntPtr)2;
Не генерировать код автоматически. Вы можете создать свои собственные классы linq в sql без использования конструктора.
Edit: Мой ленивый способ сделать это - автоматически сгенерировать код, скопировать и вставить его в несгенерированный файл и удалить файлы конструктора. Однако решать вам.
Классы Linq2SQL - это частичные классы , что означает, что вы можете легко расширить их, добавив свой собственный отдельный файл и объявив там другую часть частичного класса.
В этом файле вы можете настроить класс по мере необходимости - и поскольку это отдельный файл, генерация кода не будет его перезаписывать.
Если вы посмотрите, например, на класс «Контакт» в базе данных AdventureWorks, Linq2SQL сгенерирует его в ваш файл AdventureWorks.designer.cs:
[Table(Name="Person.Contact")]
public partial class Contact : INotifyPropertyChanging, INotifyPropertyChanged
{
Теперь вы можете добавить файл «Contact.cs» в свой проект и расширить этот частичный класс, например, введя новое свойство «DisplayName»:
public partial class Contact
{
public string DisplayName
{
get { return string.Format("{0} {1}", FirstName, LastName); }
}
}
Во время компиляции эти две части класса объединяются вместе.
Другая часть - это частичные методы - методы, которые вы можете реализовать, но если они 'если они не реализованы, их вызовы оптимизируются компилятором.
Для каждого класса объектов в Linq2SQL создается целый ряд частичных методов (новая функция в .NET 3.0) - их можно реализовать !
partial void InsertContact(Contact instance);
partial void UpdateContact(Contact instance);
partial void DeleteContact(Contact instance);
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
partial void OnCreated();
partial void OnFirstNameChanging(string value);
partial void OnFirstNameChanged();
partial void OnLastNameChanging(string value);
partial void OnLastNameChanged();
Множество точек расширения!
Марк
Проверьте это:
Это НАМНОГО лучше, чем sqlmetal (который дизайнер использует для генерации кода)
http://plinqo.com/default.aspx?AspxAutoDetectCookieSupport=1
Требуется Лицензия хоть и есть, но ИМХО оно того стоит.
Поскольку объекты Linq2Sql не запечатаны, вы можете быть производным от класса Linq2Sql и вносить изменения в производном классе.
В своих проектах я бы не стал вносить никаких изменений в класс Linq2Sql. Вместо этого я создаю свой собственный набор POCO, который могу адаптировать к своим потребностям. Затем я использую Linq2Sql только для заполнения / сохранения моих POCO с использованием шаблона репозитория.
Роб Коннери опубликовал в своем блоге отличную серию веб-трансляций под названием ASP.NET MVC Storefront.