Tôi có hai lớp liên quan chia sẻ một giao diện chung và được lưu trữ trong cùng một bảng cơ sở dữ liệu. Tuy nhiên, Entity Framework tạo ra một lớp chung, nơi tôi thực sự cần hai lớp riêng biệt. Làm cách nào để giải quyết vấn đề này? Tốt nhất là sử dụng một lớp cơ sở chứ không phải là một giao diện? Làm thế nào để thay đổi mô hình EF để cung cấp hai lớp được ánh xạ trên một bảng?Phân cấp lớp và giao diện trong khung thực thể?
Chỉnh sửa: thuộc tính AccountType xác định loại lớp; người dùng hoặc nhóm.
Một số mã đơn giản:
public interface IAccount
{
string Name { get; set; }
AccountType AccountType { get; set; }
}
public class GroupAccount : IAccount
{
public string Name { get; set; }
public GroupType GroupType { get; set; }
public AccountType AccountType { get; set; }
}
public class UserAccount : IAccount
{
public string Username { get; set; }
public string Password { get; set; }
public string Name { get; set; }
public AccountType AccountType { get; set; }
}
.. bạn trả lời chúng nhanh như tôi yêu cầu, cảm ơn;) – flesh