generics와 함께 .NET Enterprise Library의 ExecuteSprocAccessor 메서드를 사용하여 한 클래스를 사용하여 데이터베이스의 모든 CRUD를 처리하려고합니다. 내 데이터 레이어에서, 나는이 같은 노력했다 :generics와 함께 Enterprise Library의 ExecuteSprocAccessor 메서드 사용
'T'해야합니다 그러나
public static class CRUDDatabase { private static Database db = DatabaseFactory.CreateDatabase("ITS"); public static T SelectSingle<T>(string sprocName, int id) { return db.ExecuteSprocAccessor<T>(sprocName, id).First(); } }
을, 나는 내용의 SelectSingle() 메소드의 리턴 라인에 빌드 오류 매개 변수가없는 생성자를 사용하는 추상 형식이 아니고 일반 형식 또는 메서드의 매개 변수 'TResult'로 사용하려면 'Microsoft.Practices.EnterpriseLibrary.Data.DatabaseExtensions.ExecuteSprocAccessor (Microsoft.Practices.EnterpriseLibrary.Data 데이터베이스, 문자열, params 개체 []) '
SelectSingle() 메서드 뒤에있는 아이디어는 저장 프로 시저 이름과 데이터베이스에서 원하는 개체의 레코드 ID를 전달한다는 것입니다. 결국 SelectAll(), Update(), Delete() 등을 사용하게 될 것입니다. 이러한 메서드의 매개 변수는 다를 수 있지만 달성하려는 작업에 대한 아이디어를 얻을 수 있습니다.
오류를 읽은 후, 이것이 불가능할 수도 있다고 생각하기 시작했습니다. 그러나 이것이 작동하는지 알 수 있습니까? 또한 데이터베이스의 내 필드는 내 클래스의 필드와 1 : 1로 일치하므로 모든 매퍼를 지정하지 않습니다. 뭐가 잘못
감사
을,... – ryanulit