Я понимаю, что сопоставление хранимых процедур не поддерживается, поскольку я понимаю, что я должен иметь возможность вызывать хранимые процедуры.
У меня довольно много сложных хранимых процедур, и с помощью конструктора я мог создать сложный тип, и я был всем хорошо.
Теперь в коде сначала давайте предположим, что у меня есть следующая хранимая процедура, просто составим что-нибудь глупое, чтобы дать представление. Я хочу вернуть студента с адресом 1.
В коде у меня есть объект "Студент и адрес". Но нет StudentAddressEntity
, поскольку это таблица ссылок.
Я пробовал следующее, но получаю сообщение об ошибке
Неверный синтаксис рядом с '. "}
У меня довольно много сложных хранимых процедур, и с помощью дизайнера я мог создать сложный тип, и все было хорошо.
Теперь, сначала в коде, давайте предположим, что у меня есть следующая хранимая процедура, просто составьте что-то глупое, чтобы дать идея. Я хочу вернуть студента с адресом 1.
В коде у меня есть объект "Студент и адрес". Но нет
StudentAddressEntity
, так как это таблица ссылок.Я пробовал следующее, но получаю сообщение об ошибке
Неправильный синтаксис рядом с '. "}
У меня довольно много сложных хранимых процедур, и с помощью конструктора я мог создать сложный тип, и все было хорошо.
Теперь, сначала в коде, давайте предположим, что у меня есть следующая хранимая процедура, просто составьте что-то глупое, чтобы дать идея. Я хочу вернуть студента с адресом 1.
В коде у меня есть объект "Студент и адрес". Но нет
StudentAddressEntity
, поскольку это таблица ссылок.Я пробовал следующее, но получаю сообщение об ошибке
Неверный синтаксис рядом с '. "}
System.Data.Common.DbException {System.Data.SqlClient.SqlException}ALTER Procedure [dbo].[GetStudentById] @StudentID int AS SELECT * FROM Student S left join StudentAddress SA on S.Studentid = sa.studentid left join Address A on SA.AddressID = A.AddressID where S.StudentID = @StudentID
Код C #:
using (var ctx = new SchoolContext()) { var student = ctx.Database.SqlQuery<Student>("GetStudentById,@StudentID", new SqlParameter("StudentID", id)); }
Любые примеры того, как вызвать sp и сначала заполнить complexType в коде, используя параметры и т. Д. Могу я подключить в ADO.NET?
Попытавшись использовать только SP, который возвращает всех учащихся без параметров, я получаю эту ошибку
System.SystemException = Невозможно создать значение для свойства StudentAddress типа 'CodeFirstPrototype.Dal.Address'. Только свойства с примитивными типами поддерживается.
Это потому, что я каким-то образом игнорирую таблицу ссылок?
Есть предложения?