Automatic/Smart insert quot;itselfquot; object(自动/智能插入“本身目的)
问题描述
我想通过单一方法将我的 UserCompany
对象插入数据库.比如将元素传递给这个函数,取它并插入右表".
I'd like to insert my UserCompany
object into the database trought a single method. Such as passing the element to this function, take it and "insert in the right table".
通常在实体中(例如 LINQ to XML)我会做类似的事情:
Usually in Entity (such as LINQ to XML) I do somethings like:
db.Company.UsersCompany.Add(UserCompany);
db.SubmitChanges();
但这里的问题是我需要在使用 .Add()
之前指定表 UsersCompany
和 Company
.我想(因为我想为每种类型的对象/表的插入执行一个函数)摆脱这个.比如有一个:
but the problem here is that I need to specify the table UsersCompany
and Company
before using the .Add()
.
I'd like (since I want to do ONE function for the insert for each type of object/table) get rid of this. Such as having a:
UserCompany.InsertMySelf();
或
db.SmartAdd(UserCompany);
它知道如何自动插入表格,在哪里以及如何插入.
and it know how to insert the table, where and how, automatically.
可以这样做吗?有什么策略吗?
Is it possible to do this? Is there any strategies?
推荐答案
你可以用泛型解决这个问题:
You can solve this with generics:
Public Sub AddEntities(Of TEntity)(entities As IEnumerable(Of TEntity))
For Each ent In entities
_db.Set(Of TEntity).Add(ent)
Next
_db.SaveChanges()
End Sub
很抱歉使用 VB...在 C# 中:
Sorry for using VB... In C#:
public void AddEntities<TEntity>(IEnumerable<TEntity> entities)
{
foreach(ent in entities)
{
_db.Set<TEntity>.Add(ent);
}
_db.SaveChanges();
}
这篇关于自动/智能插入“本身"目的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:自动/智能插入“本身"目的


基础教程推荐
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01