Почему LinqPad создает поля вместо свойств?

Недавно я взялся за проект по созданию инструмента для LinqPad, который будет выгружать результаты запроса в формат CSV, чтобы использовать инструмент в больших базах данных для получения быстрых результатов. Единственное, чего я хотел от этого инструмента, - чтобы он работал в Visual Studio и LinqPad. Таким образом, если бы я использовал LinqtoSQL в VS2010 или LinqPad, я мог бы быстро выгружать результаты в файл csv, а затем открывать его в Excel для просмотра результатов.

Самая большая проблема в проекте возникла из-за того, как LinqPad создает свои DataContexts и то, как Visual Studio создает свои DataContexts. Лучшая информация о том, как LinqPad это делает, взята из здесь . В основном то, что я обнаружил в своем проекте, заключалось в том, что VS2010 создает свойства для своих DataContexts, но LinqPad создает поля. Таким образом, при использовании отражения:

LinqPad:

dataContextType.GetProperties() //returns 0
dataContextType.GetFields() //returns the Fields from LinqPad created DataContext

VS 2010 LinqToSQL:

dataContextType.GetProperties() //returns the Properties from VS created DataContext
dataContextType.GetFields() //returns 0

Так почему же LinqPad использует поля вместо свойств в своих контекстах данных? Разве не было бы более целесообразным скопировать шаблон Visual Studio LinqToSQL?

Обновление

На основании комментария я решил задать тот же вопрос на форуме LinqPad .

5
задан jsmith 14 April 2011 в 17:08
поделиться