C# 可以将实体插入多个表中的ORM
在SQL server中,我有两个这样的表 表1 Id(主键), 名字 表2 表1_Id(fk), 标题 描述 一些数据 在从代码插入时(使用C#),我希望避免必须发出两个请求才能创建此数据 有没有ORM,或者类似Simple.Data的东西,如果我打电话,它会处理吗C# 可以将实体插入多个表中的ORM,c#,sql,entity-framework,nhibernate,orm,C#,Sql,Entity Framework,Nhibernate,Orm,在SQL server中,我有两个这样的表 表1 Id(主键), 名字 表2 表1_Id(fk), 标题 描述 一些数据 在从代码插入时(使用C#),我希望避免必须发出两个请求才能创建此数据 有没有ORM,或者类似Simple.Data的东西,如果我打电话,它会处理吗 var myObject = new MyObject() { Name = "Name", Description = "Description", Title = "Title", SomeDa
var myObject = new MyObject()
{
Name = "Name",
Description = "Description",
Title = "Title",
SomeData = "SomeData"
};
db.Table1.Insert(myObject);
我想可能有什么东西足够聪明,可以识别这里使用的外键
我想这里的主要困难是我的ID是由SQL自动递增的,所以映射外键可能很棘手
谢谢 您可以使用实体框架来完成 基本上,您定义一个实体,然后将其映射到多个SQL表 也就是说,您可以定义一个抽象实体Person和具体实体employees和Managers,并使其继承Person 然后在映射中,将共享属性映射到Person SQL表以及Employees和Managers SQL表上的特定属性 网上有几个教程介绍如何使用。i、 e
using (var db = new TestContext()){
db.Managers.Add(new Manager { Name = "a", ... });
db.SaveChanges();
}
您可以使用实体框架来实现这一点 基本上,您定义一个实体,然后将其映射到多个SQL表 也就是说,您可以定义一个抽象实体Person和具体实体employees和Managers,并使其继承Person 然后在映射中,将共享属性映射到Person SQL表以及Employees和Managers SQL表上的特定属性 网上有几个教程介绍如何使用。i、 e
using (var db = new TestContext()){
db.Managers.Add(new Manager { Name = "a", ... });
db.SaveChanges();
}
使用NHibernate非常容易 使用连接(例如XML,也可以通过代码进行映射):
使用NHibernate非常容易 使用连接(例如XML,也可以通过代码进行映射):
产品/图书馆建议?根据常见问题解答,这里不欢迎您。您可以将问题重新表述为“如何使用任何ORM将实体存储到多个表中?”产品/库建议?根据FAQ,这里不欢迎您。您可以将问题重新表述为“如何使用任何ORM将实体存储到多个表中?”问题中没有继承。这是我们最后讨论的问题。这个问题没有明确包括继承,但是这里使用的方法仍然适用于我的情况,谢谢!在这个问题上没有继承权。这就是我们最终要做的。这个问题没有明确包括继承,但是这里使用的方法仍然适用于我的情况,谢谢!
var myObject = new MyObject()
{
Name = "Name",
Description = "Description",
Title = "Title",
SomeData = "SomeData"
};
session.Save(myObject);