Я понимаю, что отображение хранимых процедур не поддерживается моим пониманием того, что я должен иметь возможность вызывать хранимые процедуры.
У меня довольно много сложных хранимых процедур, и с конструктором я мог бы создать сложный тип иУ меня все было хорошо.
Теперь в коде сначала давайте предположим, что у меня есть следующая хранимая процедура, просто соберите что-то глупое, чтобы дать идею.Я хочу вернуть студента с 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 # code:
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'. Поддерживаются только свойства с примитивными типами.
Это потому, что я каким-то образом игнорирую таблицу ссылок?
Есть предложения?