自动/智能插入“本身"目的

3

本文介绍了自动/智能插入“本身"目的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想通过单一方法将我的 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() 之前指定表 UsersCompanyCompany.我想(因为我想为每种类型的对象/表的插入执行一个函数)摆脱这个.比如有一个:

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();
   }

这篇关于自动/智能插入“本身"目的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

C# 中的多播委托奇怪行为?
Multicast delegate weird behavior in C#?(C# 中的多播委托奇怪行为?)...
2023-11-11 C#/.NET开发问题
6

如何将代表存储在列表中
How to store delegates in a List(如何将代表存储在列表中)...
2023-11-11 C#/.NET开发问题
6

Delegate.CreateDelegate() 和泛型:错误绑定到目标方法
Delegate.CreateDelegate() and generics: Error binding to target method(Delegate.CreateDelegate() 和泛型:错误绑定到目标方法)...
2023-11-11 C#/.NET开发问题
14

具有未知类型的 CreateDelegate
CreateDelegate with unknown types(具有未知类型的 CreateDelegate)...
2023-11-11 C#/.NET开发问题
5

Func&lt;T&gt;.BeginInvoke 使用线程池吗?
Does Funclt;Tgt;.BeginInvoke use the ThreadPool?(Funclt;Tgt;.BeginInvoke 使用线程池吗?)...
2023-11-11 C#/.NET开发问题
6

如何为具有空目标的实例方法创建委托?
How to create a delegate to an instance method with a null target?(如何为具有空目标的实例方法创建委托?)...
2023-11-11 C#/.NET开发问题
6