2010-01-15 23 views

Trả lời

6

Tạo hai thuộc tính. Một ánh xạ tới EF, một như một wrapper

[EdmScalarProperty] 
public int EnumPropInteger {get;set} 
public MyEnum EnumProp 
{ 
    get { return (MyEnum) EnumPropInteger; } 
    set { EnumPropInteger = (int)value; } 
} 

Không phải là một cách tốt đẹp bởi vì bạn có hai thuộc tính công cộng nhưng một cách.

+0

Bạn có thể đặt thuộc tính int thành riêng tư, nội bộ hoặc được bảo vệ. – devlife

+2

Và EF có thể truy cập vào tài sản này? – Arthur

+0

@Arthur: Bạn có thể giải thích mục đích của thuộc tính '[EdmScalarProperty] '? Tôi nhìn nó lên, nhưng không thực sự thấy những gì nó thêm ở đây. –

-2

Bạn chỉ có thể cast int với Enum như thế này:

public enum TestEnum 
{ 
Zero = 0, 
One, 
Two 
} 

TestEnum target = (TestEnum)1; 

Target thì nên chứa TestEnum.One;

Chỉnh sửa: Lỗi của tôi, không diễn giải đúng lúc đầu. Bạn muốn bản đồ xử lý dàn diễn viên cho bạn, phải không? Không biết rằng ngay bây giờ, sẽ phải thử nghiệm một chút.

Các vấn đề liên quan