Tôi muốn sử dụng mã EF đầu tiên cho cơ sở dữ liệu mà tôi hiện đang truy cập bằng ADO.NET cũ với các thủ tục được lưu trữ.Mã EF Thứ nhất - Từ điển bản đồ hoặc kiểu tùy chỉnh làm nvarchar
Trong cơ sở dữ liệu của tôi, tôi có một số cột nvarchar(MAX)
sẽ được ánh xạ tới và từ Dictionary<string, string>
.
Khi được lưu vào cơ sở dữ liệu, nó là một chuỗi được định dạng XML. Tôi sử dụng kỹ thuật này để cho phép quốc tế hóa, ví dụ: tên của sản phẩm trong cửa hàng trực tuyến. Tôi không biết có bao nhiêu ngôn ngữ mà bất kỳ người dùng nào muốn dịch để tôi không thể có một cột Name
cho từng ngôn ngữ.
Tôi cũng muốn tránh lưu trữ các giá trị trong một bảng riêng biệt, vì vậy tôi đã kết thúc bằng cách tiếp cận Từ điển - XML.
Cách tôi làm ngay bây giờ, là chỉ xử lý bất kỳ cột nào trong số các cột này dưới dạng chuỗi bất cứ khi nào tôi tương tác với cơ sở dữ liệu. Tôi có một hàm bản đồ tùy chỉnh có thể biến XML thành một từ điển và quay lại XML.
Nhưng tôi dường như không thể tìm cách làm điều này bằng EF Code trước? Bất kỳ ý tưởng?
Tuyệt vời! Cảm ơn :) - Tôi sẽ không nghĩ rằng để làm điều đó – Yablargo
Tại sao XML và không JSON, cuối cùng là nhỏ gọn hơn và sẽ có hiệu quả hơn trong điều khoản lưu trữ DB không? – Piou
@Piou Tôi không thể nhớ chính xác những gì tôi đã suy nghĩ cách đây năm năm nhưng tôi đoán tôi vẫn còn được sử dụng nhiều hơn để XML sau đó để JSON. Tôi giả sử ví dụ cũng sẽ làm việc với JSON vì vậy hãy thử nó. Tuy nhiên hãy nhớ rằng tối ưu hóa sớm là gốc rễ của mọi điều ác. –