Скажем, что «Foo» - это объект Linq to SQL, созданный в конструкторе Linq to SQL.Можно ли сохранить класс, полученный из объекта Linq to SQL?
У меня тогда есть «Бар», который происходит от «Foo».
Должен ли я сэкономить «бар» с использованием Linq to SQL (при условии, что мне не нужно сохранять какие-либо дополнительные свойства на панели).
using (myDataContext ctx = new myDataContext())
{
ctx.Foos.InsertOnSubmit(instanceOfBar);
ctx.SubmitChanges();
}
Подлежит ли это поддержанию?
Спасибо большое, Jon
Насколько я знаю, это единственный способ сделать это в стороне от переопределения источника сопоставления. По умолчанию реализация атрибута Linq to Sql AttributeMapping извлекает только различные атрибуты (TableAttribute, ColumnAttribute и т. Д.) На базовый тип, игнорирует все, что унаследовано. – rossisdead
Это смешно, после того, как я разместил это, я просто понял, что он не поддерживается, и загрузил automapper http://automapper.codeplex.com/, чтобы сопоставить мой производный объект с новым экземпляром базового класса. (похоже на то, что вы нашли) Отлично работает. Я также расширил базовый класс событием, которое запускается до сохранения, чтобы производный класс сериализовал свои данные расширения в xml (который сохраняется в столбце xml в схеме базовых классов). –