MVC C# Entity Framework 응용 프로그램에 제너릭 컨트롤러를 만들려고합니다. DbSet < T> 및 T_Instance 라인 컴파일러 에러를 가지고 그러나C#. "유형 T는 매개 변수로 사용하기 위해 참조 유형이어야합니다." 방법?
public class GenericRecordController<T> : Controller
{
private DbSet<T> Table;
// ...
public action(){
// ...
db.Entry(T_Instance).State = System.Data.Entity.EntityState.Modified;
}
}
.
유형 T
파라미터로 사용하기 위해 참조 유형이어야한다.
나는 그것이 해결되었다
Controller where T : class
클래스를 위해 그것을 제약 조건합니다.
위의 오류는 무엇을 의미합니까?
해결책을 묻는 중입니다. 이 오류가 발생하는 이유와 클래스에 대한 제약 조건이 왜 해결되는지 이해하고 싶습니다.
불완전하고 불분명 함. 또한, 논쟁의 여지가있는 디자인 선택. –
@HenkHolterman. 왜 나쁜 디자인 선택입니까? –
컨트롤러 지향 모델이므로 뷰 지향적이어야합니다. CRUD에는 불필요하며 다른 모든 목적에는 해가됩니다. –