【发布时间】:2016-11-16 08:35:06
【问题描述】:
今天我有一个使用 EF Core 工作的应用程序,带有 DbContext 类,看起来像这样:
public class RcoreContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=rCoreData.TestDb;Trusted_Connection=True;");
}
public DbSet<Hosts> Hosts { get; set; }
public DbSet<Route> Route { get; set; }
}
public class Hosts
{
public int HostsId { get; set; }
public string Host { get; set; }
[NotMapped]
public Dictionary<object, object> Datas { get; set; }
public string DatasJson { get { return JsonConvert.SerializeObject(Datas); } set { Datas = JsonConvert.DeserializeObject<Dictionary<object, object>>(value); } }
}
public class Route
{
public int RouteId { get; set; }
public int HostId { get; set; }
public string RealRoute { get; set; }
public string alias { get; set; }
}
我非常喜欢这种方式,因为请求返回基于现有类(此代码中的Hosts 和Route)。
SqlCommand 方式似乎使用起来更舒服(它似乎更像 PHP),但似乎将条目返回为 object。 (我读过this article)
我想知道是否可以在这两种方式之间进行混合,并像 SqlCommand 一样将请求作为 StoredProcedure 发送,但仍然基于请求返回的现有类。
谢谢
【问题讨论】:
标签: asp.net sql-server entity-framework asp.net-core