Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.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# 使实体框架联接表显式,使用分部类和扩展方法减少代码更改_C#_Entity Framework - Fatal编程技术网

C# 使实体框架联接表显式,使用分部类和扩展方法减少代码更改

C# 使实体框架联接表显式,使用分部类和扩展方法减少代码更改,c#,entity-framework,C#,Entity Framework,我需要在“隐式”实体框架联接表中添加一个额外的字段—添加一个排序键。 这将破坏大量依赖于 classA.ClassB和classA.Add(项B);等等 是否有使用扩展方法和分部类的方法来最小化或删除其他代码更改 我一直在试图找出一些关于 public partial class ClassA { public IQueryable<ClassB> ClassBs { get {

我需要在“隐式”实体框架联接表中添加一个额外的字段—添加一个排序键。 这将破坏大量依赖于 classA.ClassB和classA.Add(项B);等等

是否有使用扩展方法和分部类的方法来最小化或删除其他代码更改

我一直在试图找出一些关于

public partial class ClassA {
        public IQueryable<ClassB> ClassBs
        {
           get
           {
              return this.JoinAB.Select(x => x.ClassB).OrderBy(x => x.SortKey).AsQueryable();
           }
        }
}
公共部分类ClassA{
公共可查询类
{
得到
{
返回this.JoinAB.Select(x=>x.ClassB).OrderBy(x=>x.SortKey).AsQueryable();
}
}
}
这会导致“无法转换为存储表达式”类型的问题,而且我不确定如何到达“lefthandside”结尾

public bool ICollection Add(ClassB itemToAdd,int-sortKey=0){
var jab=newjoinab{SortKey=SortKey,ClassB=itemToAdd};
此。*左手侧*.Add(jab);
返回true;
}

那么,这有可能做到吗?如果有,怎么做?

答案是不幸的是没有,你必须更新用法。必须有一条路线来至少正确地完成第一个示例-从关系的一端到另一端,因为商店表达式是EF擅长的!
public bool ICollection<ClassA> Add(ClassB itemToAdd, int sortKey=0){
    var jab = new JoinAB{SortKey=sortKey, ClassB=itemToAdd};
    this.*leftHandSide*.Add(jab);
    return true;

}