Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要扩展方法的多个DataContext_C# - Fatal编程技术网

C# 需要扩展方法的多个DataContext

C# 需要扩展方法的多个DataContext,c#,C#,我有多个数据上下文,它们需要相同的扩展方法。在这个类中,使返回类型更通用的理想方法是什么 public static class DBContextExtensions { public static TContext Attach<TEntity, TContext>(this TContext context, TEntity entity) where TEntity : class, IEntity { context.Entry(en

我有多个数据上下文,它们需要相同的扩展方法。在这个类中,使返回类型更通用的理想方法是什么

public static class DBContextExtensions
{
     public static TContext Attach<TEntity, TContext>(this TContext context, TEntity entity) where TEntity : class, IEntity
     {
          context.Entry(entity).State = entity.Id == 0 ? EntityState.Added : EntityState.Modified;
          return context;
     }
}
公共静态类DbContextensions
{
公共静态TContext Attach(此TContext上下文,TEntity实体),其中TEntity:class,entity
{
context.Entry(entity).State=entity.Id==0?EntityState.Added:EntityState.Modified;
返回上下文;
}
}
它似乎没有解析实体框架中的
条目
方法。如何通过泛型公开该方法?

Greg

添加另一个常规约束:

public static TContext Attach<TEntity, TContext>(this TContext context, TEntity entity) 
    where TEntity : class, IEntity 
    where TContext : DbContext      //  <----- add this constraint
publicstatictcontextattach(此TContext上下文,TEntity实体)
其中tenty:类,tenty
其中TContext:DbContext/Greg

添加另一个常规约束:

public static TContext Attach<TEntity, TContext>(this TContext context, TEntity entity) 
    where TEntity : class, IEntity 
    where TContext : DbContext      //  <----- add this constraint
publicstatictcontextattach(此TContext上下文,TEntity实体)
其中tenty:类,tenty

其中TContext:DbContext//没有附加约束,
TContext
只是一个
对象
。没有附加约束,
TContext
只是一个
对象