在 TextBox 中显示 SQL 查询
Displaying SQL Query in TextBox
菜鸟问题
我目前正在 WPF 中编写一个应用程序,该应用程序连接到根据 Entity Framework 的 Code First 创建的数据库。
我想进行查询,然后在 TextBox 中显示结果。
这是我的数据库上下文 class:
class CepikDB : DbContext
{
public CepikDB() : base()
{
Database.SetInitializer<CepikDB>(new CreateDatabaseIfNotExists<CepikDB>());
}
public DbSet<Cars> Pojazdy { get; set; }
public DbSet<Drivers> Kierowcy { get; set; }
public DbSet<DrivingLicense> PrawoJazdy { get; set; }
public DbSet<InsurancePolicy> Polisa { get; set; }
public DbSet<TechnicalReview> BadanieTechniczne { get; set; }
public DbSet<CarDocsAndInfo> Informacje { get; set; }
}
这就是我想要执行查询的方式:
using (var ctx = new CepikDB())
{
var driverList = ctx.Kierowcy
.SqlQuery("Select * From Kierowcy")
.ToList<Drivers>();
}
但是,我不确定如何在文本框中显示查询结果。
您需要将结果转换为字符串,这样就可以了:
StringBuilder sb = new StringBuilder();
foreach(var driver in driverList)
{
sb.AppendLine("$First name: {driver.FirstName}");
sb.AppendLine("$Last name: {driver.LastName}");
}
string text = sb.ToString();
然后您可以使用文本变量来设置文本框的值。
但是由于您使用的是 WPF,列表可能是可视化结果的更好选择。将此添加到您的 XAML:
<ListView x:Name="MyList">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding=
"{Binding Path=FirstName}"
Header="First Name" Width="100"/>
<GridViewColumn DisplayMemberBinding=
"{Binding Path=LastName}"
Header="Last Name" Width="100">
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
然后在后面的代码中设置列表,如下所示:
MyList.ItemsSource = driverList;
菜鸟问题
我目前正在 WPF 中编写一个应用程序,该应用程序连接到根据 Entity Framework 的 Code First 创建的数据库。 我想进行查询,然后在 TextBox 中显示结果。
这是我的数据库上下文 class:
class CepikDB : DbContext
{
public CepikDB() : base()
{
Database.SetInitializer<CepikDB>(new CreateDatabaseIfNotExists<CepikDB>());
}
public DbSet<Cars> Pojazdy { get; set; }
public DbSet<Drivers> Kierowcy { get; set; }
public DbSet<DrivingLicense> PrawoJazdy { get; set; }
public DbSet<InsurancePolicy> Polisa { get; set; }
public DbSet<TechnicalReview> BadanieTechniczne { get; set; }
public DbSet<CarDocsAndInfo> Informacje { get; set; }
}
这就是我想要执行查询的方式:
using (var ctx = new CepikDB())
{
var driverList = ctx.Kierowcy
.SqlQuery("Select * From Kierowcy")
.ToList<Drivers>();
}
但是,我不确定如何在文本框中显示查询结果。
您需要将结果转换为字符串,这样就可以了:
StringBuilder sb = new StringBuilder();
foreach(var driver in driverList)
{
sb.AppendLine("$First name: {driver.FirstName}");
sb.AppendLine("$Last name: {driver.LastName}");
}
string text = sb.ToString();
然后您可以使用文本变量来设置文本框的值。
但是由于您使用的是 WPF,列表可能是可视化结果的更好选择。将此添加到您的 XAML:
<ListView x:Name="MyList">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding=
"{Binding Path=FirstName}"
Header="First Name" Width="100"/>
<GridViewColumn DisplayMemberBinding=
"{Binding Path=LastName}"
Header="Last Name" Width="100">
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
然后在后面的代码中设置列表,如下所示:
MyList.ItemsSource = driverList;