使用Fluent Nhibernate c#将CSV/Excel文件数据导入2个表(sql server 2012)
本文关键字:2个表 导入 sql server 2012 数据 文件 Nhibernate Fluent CSV Excel | 更新日期: 2023-09-27 17:58:33
嗨,
我有一个csv/excel文件,希望使用C#Fluent Nhibernate
存储库模式将excel.csv文件中的数据插入到我的sql server数据库的两个表中。
我的两张桌子是:
table1 (Id, FieldName)
table2 (Id, table1Id, Name, ...)
表1的主键在表2中充当外键。
在这两个表中插入的全部数据都可以在一个excel/csv文件中获得。那么,是否可以使用C#Fluent Nhibernate来完成此过程?如果是,有谁能给我一个主意?
谢谢,采样路径
是的,这肯定是可能的。下面是一个关于如何做到这一点的非常简单的例子。
伪代码:
实体
class table1
{
int id;
List<table2> table2s;
}
class table2
{
int id;
table1 instance;
string name;
}
映射
public class table1Map: ClassMap<table1>
{
public table1Map()
{
Table("table1");
Id(x => x.Id);
HasMany(x => x.table2s).Cascade.All();
}
}
public class table2Map: ClassMap<table2>
{
public table2Map()
{
Table("table2");
Id(x => x.Id);
References(x => x.instance);
}
}
用法
using (var session = new Configuration().Configure().BuildSessionFactory().OpenSession())
{
table1 t1 = new table1();
t1.table2s.Add(new table2());
using (ITransaction transaction = session.BeginTransaction())
{
session.Save(t1);
transaction.Commit();
}
}