Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите перевести из Delphi на C# / 2 сообщений из 2, страница 1 из 1
11.06.2013, 19:02
    #38294573
Fet Frumos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести из Delphi на C#
Есть старая программа на Delphi, переписываем на C#. Сервер MS sql 2008, в c# используем Entity Framework. В Delphi запускается хранимая процедура которая возвращает значение int, в ней внутри запускаеться еще несколько хранимок. Запускаеться через функцию

Код: pascal
1.
2.
3.
4.
5.
6.
function ExecProc(sql : string) : TDataSet;
begin
   Result := TADOQuery.Create( nil );
   Result.Sql.text = sql;
   Result.open;
end;



Код: pascal
1.
2.
3.
var
 ds : TDataSet;
 ds = ExecProc('execute MyProc');



В ds получаеться 10 полей(результат работы вызываемых внутри ХП, MyProc возвращает один int). Можна ли этот механизм реализовать на Entity Framework? Запустить ХП MyProc, и получить на выходе List<MyData>? Пока что пользуемся существующей базой, переписывать будем чуть позже.
...
Рейтинг: 0 / 0
12.06.2013, 11:57
    #38294973
Fet Frumos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите перевести из Delphi на C#
Попробовал проэмулировать через Ado.net, работает. Привожу код:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
           SqlConnection sqlConn = new SqlConnection("...");
            
            SqlCommand testCMD = new SqlCommand("myProc", sqlConn);
            testCMD.CommandType = CommandType.StoredProcedure;
            SqlParameter par1 = testCMD.Parameters.Add("@p1", SqlDbType.VarChar, 10);
            par1.Direction = ParameterDirection.Input;
            par1.Value = "aaaa";

            SqlParameter par2 = testCMD.Parameters.Add("@p2", SqlDbType.Int);
            par2.Direction = ParameterDirection.Input;
            par2.Value = 0;


            SqlParameter par3 = testCMD.Parameters.Add("@p3", SqlDbType.Int);
            par3.Direction = ParameterDirection.Input;
            par3.Value = 0;

            SqlParameter Res = testCMD.Parameters.Add("@p4", SqlDbType.Int);
            Res.Direction = ParameterDirection.ReturnValue;

            sqlConn.Open();
            SqlDataReader myReader = testCMD.ExecuteReader();



myReader возвращает значения 10 полей. Как можно это проэмулировать в Entity? Вопрос к модераторам - может данный топик имеет смысл перенести в форум "ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM"?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите перевести из Delphi на C# / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]