내 웹 응용 프로그램의 데이터 계층 역할을하는 'MyProject.Data'라는 프로젝트에 'Article'이라는 클래스가 있습니다.
데이터를 보거나 편집하기위한 웹 기반 관리 시스템 인 'MyProject.Admin'이라는 별도의 프로젝트가 있으며 ASP.NET Dynamic Data를 사용하여 빌드되었습니다.
기본적으로 부분 클래스를 사용하여 Article 클래스를 확장하여 "UIHint"익스텐더를 사용하여 해당 속성 중 하나를 확장하여 일반 여러 줄 텍스트 상자를 FCKEdit 컨트롤로 바꿀 수 있습니다.
내 부분 클래스와 익스텐더는 다음과 같습니다.
[MetadataType(typeof(ProjectMetaData))]
public partial class Project
{
}
public class ProjectMetaData
{
[UIHint("FCKeditor")]
public object ItemDetails { get; set; }
}
이제 부분 클래스가 원래 부분 클래스와 같은 프로젝트 (예 : MyProject.Data 프로젝트)에 있으면이 모든 것이 잘 작동합니다.
그러나 UI 동작은 데이터 계층이 아니라 관리 계층에 있어야합니다. 이 클래스를 MyProject.Admin으로 옮기고 싶습니다.
그러나 그렇게하면 기능이 손실됩니다.
내 근본적인 질문은 : 별도의 프로젝트에서 두 개의 부분 클래스를 가질 수 있지만 둘 다 동일한 "클래스"를 참조 할 수 있습니까?
그렇지 않은 경우 데이터 계층 논리와 UI 논리를 혼합하지 않고 내가하려는 일을 수행 할 수있는 방법이 있습니까?
MetadataType
모델을 ViewModel과 비슷하게 만듭니다.