Tôi đã tìm một chủ đề tương tự cho câu hỏi của mình trên internet trong vài ngày qua. Cuối cùng tôi đã tự hỏi mình câu hỏi này.Bản đồ kết quả thủ tục được lưu trữ trong Khuôn khổ thực thể
Sử dụng phương pháp mã đầu tiên và EF 4.3.1 Tôi đã tạo một lớp ngữ cảnh, các lớp thực thể và các lớp để lưu trữ đầu ra thủ tục được lưu trữ. Lớp ngữ cảnh có các phương thức thực hiện các thủ tục được lưu trữ nhất định sử dụng SqlQuery<T>
.
Ví dụ:
public IEnumerable<Results> GetData(int id)
{
var parameters = new SqlParameter[] { new SqlParameter("@id", id) };
var result = this.Database.SqlQuery<Result>("Exec dbo.sproc_GetData @id", parameters);
var data= result.ToList<Result>();
return data;
}
Như tôi đang truy tìm debug của tôi dữ liệu của tôi trở lại, và dữ liệu được ánh xạ tới các thuộc tính với một tên phù hợp. Tuy nhiên, ở đầu ra có một cột có tên là "/"
trong tên (ví dụ: Info/Data
). Rõ ràng là tôi không thể đặt tên cho một tài sản như thế vì vậy tôi figured tôi có thể lập bản đồ đầu ra bằng cách sử dụng thuộc tính cột ([Column("Info/Data")]
):
[Column("Info/Data")]
public string InfoData
{
get { return infoData; }
set { infoData= value; }
}
Tôi thậm chí đã cố gắng sử dụng các nhà điều hành đúng nguyên văn ([Column(@"Info/Data")]
), gói văn bản với []
([Column("[Info/Data]")]
) và tôi đã thử cả hai ([Column(@"[Info/Data]")]
). Khi bước qua mã, tôi thấy rằng các thuộc tính với các tên cột phù hợp được gán, nhưng các thuộc tính với thuộc tính cột được bỏ qua và được bỏ qua trong quá trình gán.
Tôi cũng đã sử dụng lệnh lưu loát cho mỗi cột cho thực thể.
modelBuilder.ComplexType<Result>().Property(d => d.InfoData).HasColumnName("Info/Data");
nhưng mà ném ngoại lệ sau đây:
Người đọc dữ liệu không phù hợp với quy định 'NameSpace.Result'. Thành viên thuộc loại, 'InfoData', không có cột tương ứng trong trình đọc dữ liệu có cùng tên.
Trong dự án của tôi NameSpace.Result
là một lớp (tên đã thay đổi đối với an ninh) và InfoDatais
là tài sản mà tôi cố gắng để lập bản đồ sử dụng thông thạo-api (cột sql tương ứng có/ở trong đó; ví dụ: Thông tin/dữ liệu) .
Có ai đã gặp sự cố này không?
Nếu sự cố của tôi không rõ ràng hoặc đã được hỏi trước khi vui lòng cho tôi biết.
Tôi tự hỏi loại người nào tên bảng Lớp học/Cơ sở dữ liệu với "/" tính cách. –
Điều đó làm cho hai người chúng ta. Tôi không viết proc. Tôi được yêu cầu sử dụng dữ liệu. Nó rất khó chịu khi thấy sự bí ẩn xảy ra. –
Có cơ hội tạo SP bao bọc với tên cột bình thường trong kết quả không? – vittore