DBContext와 함께 최신 Entity Framework를 사용하고 있습니다. 쉼표로 구분 된 값으로 변환하려는 결과 세트가 있습니다. VB에서 DataTables과 비슷한 작업을했습니다 DataTable to CSV extraction. QuoteName 메서드가 작동하고 있습니다. foreach를 사용하여 GetCSV 메서드의 파생물을 얻었습니다. 문제는 DataTable의 비슷한 코드보다 훨씬 느리다는 것입니다. 그래서 나는 누군가가 약간의 제안을하기를 희망하고있다..Net Entity Framework to CSV
public static string GetCSV(this IQueryable entity)
{
if (entity == null)
{
throw new ArgumentNullException("entity");
}
Type T = entity.ElementType;
var props = T.GetProperties(BindingFlags.Public | BindingFlags.Instance);
string s = string.Empty;
int iCols = props.Count();
try
{
s += string.Join(",", (from int ii in Enumerable.Range(0, iCols)
select props[ii].Name.QuoteName("[]")).ToArray());
s += Environment.NewLine;
foreach (var dr in entity)
{
s += string.Join(",", (from int ii in Enumerable.Range(0, iCols)
select
props[ii].GetValue(dr)
.ToString()
.QuoteName("\"\"", ",")).ToArray());
s += Environment.NewLine;
}
s = s.TrimEnd(new char[] { (char)0x0A, (char)0x0D });
}
catch (Exception)
{
throw;
}
return s;
}
안녕하세요,이 구현하려고하지만 컴파일러는 Quotename 함수를 인식하지 못합니다. 어떻게 이것을 수행 할 수 있습니까? –