Tôi cần thêm trường vào mô hình mà Cơ sở dữ liệu không có trường thực sự.Entity Framework 4 (sử dụng EDMX), cách thêm trường vào mô hình mà DB không có trường thực sự
Bởi vì, trước hết tôi đã cố gắng thêm trường này vào lớp Chỉ thực thể.
public partial class Weborder
{
(Auto Generated)
public int orderno {get; set;}
.
.
.
(Add Manually)
public string newField1 {get; set;} //this is new field that DB does not have
public string newField2 {get; set;} //this is new field that DB does not have
}
và sau đó, khi tôi cập nhật EDXM thì EDMX xóa trường mới vì cơ sở dữ liệu không có trường. . :(
Vì vậy, tôi thêm lĩnh vực này vào EDMX mô hình bằng tay (Add -> Scalar tuệ)
sau đó một lỗi xảy ra khi biên dịch, thông báo lỗi nói:
Error 1 Error 3004: Problem in mapping fragments starting at line 399:No mapping specified for properties ...
An Entity with Key (PK) will not round-trip when:...
Bất kỳ ai biết làm thế nào để thêm các trường mới vào lớp thực thể
Cảm ơn bạn
biên tập cho:?! Nếu mô hình của bạn tôi s đại diện cho cơ sở dữ liệu của bạn và trong cơ sở dữ liệu bạn không có trường, tại sao bạn muốn thêm nó theo cách thủ công?
=>
Khi lấy dữ liệu, kiểu trả về của đối tượng được các lớp thực thể.
và trước khi truyền dữ liệu từ bộ điều khiển để xem, tôi cần thêm nhiều dữ liệu (trường) vào kết quả IQueryable.
cũ)
public DbSet<WEBORDERLN> WEBORDERLNs { get; set; }
//repository
public IQueryable<WEBORDERLN> WebOrderLns
{
get { return context.WEBORDERLNs; }
}
và bây giờ tôi lấy dữ liệu weborderln trong bộ điều khiển. và trước khi xem qua, tôi cần phải
thêm dữ liệu bổ sung vào kết quả.
var data = webOrderLnRepository.WebOrderLns.Where(e => e.PICKNO == OrderNo).ToList();
foreach (WEBORDERLN weborderln in data)
{
weborderln.[NEW FIELD] = "EXTRA DATA"; //// FOR THIS, I NEED TO ADD NEW FILED INTO ENTITY CLASS
}
//return data
tôi hy vọng nó có thể giải thích các câu hỏi :)
Cảm ơn một lần nữa.
Nếu mô hình của bạn là đại diện cho cơ sở dữ liệu của bạn và trong cơ sở dữ liệu bạn không có trường, tại sao bạn muốn thêm nó theo cách thủ công? – Dante
@ Dante, Cảm ơn sự quan tâm của bạn. Tôi đã chỉnh sửa lại câu hỏi của mình, vui lòng xem lại câu hỏi của tôi. Và nếu bạn có bất kỳ ý tưởng, xin vui lòng tư vấn cho tôi. –
Về cơ bản, bạn đang mô tả kịch bản cho việc sử dụng ViewModels - tức là. các mô hình được ánh xạ từ các mô hình dữ liệu và bắt nguồn từ khung nhìn cho mục đích truyền dữ liệu đến (và có thể từ) khung nhìn. Bây giờ tôi đã luôn tự hỏi làm thế nào dễ dàng để xây dựng ViewModels trong Entity Framework chính nó (vì tôi có thể muốn sử dụng và truy vấn OData Services, vv) nhưng tôi không biết rằng họ thực sự thuộc về đó. – JayC