Автогенератор c# классов для хранимых процедур?

Добрый день.

Столкнулся с новым проектов на C# + MsSQL
Были только dll, чтобы раскомпилировать воспользовался dotPeek

Обнаружил, что для общения с БД и получения из неё данных активно используется ряд классов оканчивающихся на Result, сами классы судя по всему сгенерированы, а не написаны в ручную. К такому выводу пришёл потому что их очень много (на каждую хранимую процедуру). Ну и гугл выдал много результатов по автогенерации класов для хранимых. Но именно такого генератора не нашёл. Вот пример result класса для хранимки:

using System.Data.Linq.Mapping;

namespace DatabaseLib
{
  public class FindUsersResult
  {
    private long? _Id;
    private string _Login;

    [Column(DbType = "BigInt", Storage = "_Id")]
    public long? Id
    {
      get
      {
        return this._Id;
      }
      set
      {
        long? nullable1 = this._Id;
        long? nullable2 = value;
        if ((nullable1.GetValueOrDefault() != nullable2.GetValueOrDefault() ? 1 : (nullable1.HasValue != nullable2.HasValue ? 1 : 0)) == 0)
          return;
        this._Id = value;
      }
    }

    [Column(DbType = "NVarChar(255)", Storage = "_Login")]
    public string Login
    {
      get
      {
        return this._Login;
      }
      set
      {
        if (!(this._Login != value))
          return;
        this._Login = value;
      }
    }
  }
}


Наверняка в оригинальном файле есть пометка чем сгенерировано, но после декомпиляции - комментариев нет.

Подскажите, что за генератор? Ну или каким путём можно пойти?
  • Вопрос задан
  • 2935 просмотров
Решения вопроса 1
pushthebutton
@pushthebutton
Невероятно большая вероятность, что это стандартный DBML генератор, он встроен в студию.

Попробуйте добавить в проект linq to sql classes. И уже в него добавить процедуру dbo.FindUsersResult. Думаю сгенерированный *.cs-файл будет очень похож на ваш.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@artemf
Верно, скорее всего, это встроенный генератор msdn.microsoft.com/en-us/library/bb126445.aspx
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы