런타임시 저장 프로 시저에서 DataTable
의 열을 가져옵니다. 코드는 다음과 같습니다.런타임에 클래스 및 프로젝트 속성을 생성하십시오.
var parkDataTable = new DataTable("tmp");
...
SqlCommand cmd = new SqlCommand("FooStoredProcedure", db.Database.Connection as
SqlConnection, transaction.UnderlyingTransaction as SqlTransaction);
cmd.CommandType = CommandType.StoredProcedure;
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
parkDataTable.Load(dr);
흥미로운 것은 열 이름에 날짜를 추가하여 다양한 이름을 가질 수 있다는 것입니다. 예를 들어, 열 이름이 2017-09-01_FactPark
이고, 다음 번에 2017-10-01_FactPark
이 될 수 있습니다. , 열로 다음과 같은 이미지를 참조하십시오
난 그냥 런타임에서 열 이름과 열의 양에 대해 알고 있습니다.
이public IQueryable<EmployeeDTO> GetEmployees()
{
return db.Employees
.Select(employee => new EmployeeDTO
{
ID = employee.ID,
FirstName = employee.PriceNumber,
LastName = employee.PriceDate
}).AsQueryable();
}
그래서 내 목표는 DataTable
에서 속성 클래스를 만드는 것입니다 :
는 런타임에 속성으로 위의 열이있는 클래스를 생성하고 일반적인 방법 같은 이러한 속성에 투사 할 수 있나요 속성이있는 클래스에 DataTable
열을 투영하십시오.
런타임에 속성을 만들고 DataTable
클래스를 새로 만들 수 있습니까?
* 2017-0901_FactPark *, * 2017-10-01_FactPark * ... 누군가가 정상화가 필요 ... – JohnyL
허용 할 수 없거나 허용되지 않습니까? :) – JohnyL
@JohnyL 열 이름은 저장 프로 시저의 SELECT 문에 의해 만들어지며이 SELECT 문을 변경할 수 없습니다. – StepUp