实体框架:如何创建返回数据对象的方法
本文关键字:返回 数据 对象 方法 创建 框架 何创建 实体 | 更新日期: 2023-09-27 18:05:58
我有以下Method
,它返回基于作为参数传递的Primary Key
的记录:
class Program
{
public static string GetRecord(Int64 pk)
{
using (var entityDataModel = new EntityDataModel())
{
var record = entityDataModel.Catalog.Find(pk);
return record.VehicleMake;
}
}
static void Main(string[] args)
{
Console.WriteLine(GetRecord(7341367950));
Console.ReadKey();
}
}
与上面不同,我需要方法返回一个对象,该对象根据调用者传递的主键作为参数来公开记录:我在这里可以使用什么数据类型?
像这样:(示例)
class Program
{
public static SomeDataType GetRecord(Int64 pk)
{
using (var entityDataModel = new EntityDataModel())
{
//Return record based on PK passed
return entityDataModel.Catalog.Find(pk);
}
}
static void Main(string[] args)
{
// Call the method here and return the data object
var record = GetRecord(7341367950);
Console.WriteLine(record.VehicleMake);
//Or like this:
Console.WriteLine(GetRecord(7341367950).VehicleMake);
Console.ReadKey();
}
}
更新:这里是模型:
public partial class EntityDataModel : DbContext
{
public EntityDataModel()
: base("name=EntityDataModel")
{
}
public virtual DbSet<Catalog> Catalog { get; set; }
public virtual DbSet<Model> Model { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Catalog>()
.Property(e => e.VehicleIdentificationNumber)
.IsFixedLength();
}
}
答案:
我只是使用实体,在本例中是实体模型目录,它表示数据库中的一个表:
public static Catalog GetRecord(Int64 pk)
{
using (EntityDataModel entityDataModel = new EntityDataModel())
{
return entityDataModel.Catalog.Find(pk);
}
}
static void Main(string[] args)
{
Catalog record = GetRecord(7341367950);
Console.WriteLine(record.VehicleMake);
Console.ReadKey();
}