从数据库中提取数据后写入 csv,无法用数据修改变量
Writing to a csv after extracting data from a db, cannot modify variable with data
using Dapper;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Threading.Tasks;
using System.IO;
namespace writingCSV
{
class Program
{
static async Task Main(string[] args)
{
var PatientEmails = await GetPatients();
Type myType = PatientEmails.GetType();
Console.WriteLine(myType);
}
public class PatientSurvey: IDisposable
{
public string Location { get; set; }
public string Email { get; set; }
public void Dispose()
{
throw new NotImplementedException();
}
}
static public async Task<IEnumerable<PatientSurvey>> GetPatients()
{
var connectionString = "SERVER INFORMATION";
using (var cnn = new SqlConnection(connectionString))
{
cnn.Open();
var patientSurveys = await cnn.QueryAsync<PatientSurvey>("STORED PROC NAME",
null,
commandTimeout: 120,
commandType: CommandType.StoredProcedure);
return patientSurveys;
}
}
}
}
我正在尝试将数据从数据库写入 CSV 文件。我已成功连接到数据库并将数据提取到 C# 对象中,但我不知道如何修改我的数据以便将其实际写入文件。 PatientEmails
变量中包含数据,但它似乎只是 PatientSurvey
class.
的一个实例
如果我 运行 我的变量通过 foreach
循环,它会在每次循环时打印出 writingCSV.Program.PatientSurvey
。
我没有发现任何问题。 GetPatients
returns PatientSurvey
的 IEnumerable
所以确实在列表上循环只是打印出 writingCSV.Program.PatientSurvey
。
你会期待什么?
如果您的目标是打印患者的电子邮件,那么您应该写类似
的内容
foreach (var p in patientEmails) {
Console.WriteLine(p.Email);
}
using Dapper;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Threading.Tasks;
using System.IO;
namespace writingCSV
{
class Program
{
static async Task Main(string[] args)
{
var PatientEmails = await GetPatients();
Type myType = PatientEmails.GetType();
Console.WriteLine(myType);
}
public class PatientSurvey: IDisposable
{
public string Location { get; set; }
public string Email { get; set; }
public void Dispose()
{
throw new NotImplementedException();
}
}
static public async Task<IEnumerable<PatientSurvey>> GetPatients()
{
var connectionString = "SERVER INFORMATION";
using (var cnn = new SqlConnection(connectionString))
{
cnn.Open();
var patientSurveys = await cnn.QueryAsync<PatientSurvey>("STORED PROC NAME",
null,
commandTimeout: 120,
commandType: CommandType.StoredProcedure);
return patientSurveys;
}
}
}
}
我正在尝试将数据从数据库写入 CSV 文件。我已成功连接到数据库并将数据提取到 C# 对象中,但我不知道如何修改我的数据以便将其实际写入文件。 PatientEmails
变量中包含数据,但它似乎只是 PatientSurvey
class.
如果我 运行 我的变量通过 foreach
循环,它会在每次循环时打印出 writingCSV.Program.PatientSurvey
。
我没有发现任何问题。 GetPatients
returns PatientSurvey
的 IEnumerable
所以确实在列表上循环只是打印出 writingCSV.Program.PatientSurvey
。
你会期待什么?
如果您的目标是打印患者的电子邮件,那么您应该写类似
foreach (var p in patientEmails) {
Console.WriteLine(p.Email);
}