Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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# 执行查询时出错:Telerik.OpenAccess.RT.sql.SQLException:无效的对象名';员工';_C#_Asp.net_Telerik_Telerik Open Access - Fatal编程技术网

C# 执行查询时出错:Telerik.OpenAccess.RT.sql.SQLException:无效的对象名';员工';

C# 执行查询时出错:Telerik.OpenAccess.RT.sql.SQLException:无效的对象名';员工';,c#,asp.net,telerik,telerik-open-access,C#,Asp.net,Telerik,Telerik Open Access,我在asp.net C#web应用程序中使用Telerik Open Access ORM。 在我的应用程序中,我将数据库中名为“Person”的表实体映射为基类,并创建了名为“Employee”的子域类。 然后,我将子类的垂直继承应用于基类,并对Employee子类使用“默认映射” 在查询两个基类/子类时,我得到一个错误: 执行查询时出错:Telerik.OpenAccess.RT.sql.SQLException:对象名“Employee”无效 以下是从上下文添加到查询的行:

我在asp.net C#web应用程序中使用Telerik Open Access ORM。 在我的应用程序中,我将数据库中名为“Person”的表实体映射为基类,并创建了名为“Employee”的子域类。 然后,我将子类的垂直继承应用于基类,并对Employee子类使用“默认映射”

在查询两个基类/子类时,我得到一个错误:

执行查询时出错:Telerik.OpenAccess.RT.sql.SQLException:对象名“Employee”无效

以下是从上下文添加到查询的行:

       using (EntitiesModel1 obj = new EntitiesModel1())
        {
            List<Employee> lstEmp = obj.Employees.ToList();
          GridView1.DataSource = lstEmp;
          GridView1.DataBind();
        }
使用(EntitiesModel1 obj=new EntitiesModel1())
{
List lstEmp=obj.Employees.ToList();
GridView1.DataSource=lstEmp;
GridView1.DataBind();
}

请提供帮助。

当您将继承策略指定为“垂直”时,这意味着每个类都有自己的物理表。因此,您会得到“Employee”表丢失的错误

如果要在单个表“Person”中存储Person和Employee的实例,则需要使用默认的继承策略,即“Flat”

如果您想创建额外的“Employee”表,那么您可以使用模式处理程序API并让OpenAccess生成相应的ddl

var context = new EntityDiagram();
var schemaHandler = context.GetSchemaHandler();
var ddl = schemaHandler.CreateUpdateDDLScript(null);
if(string.IsNullOrEmpty(ddl) == false)
   schemaHandler.ExecuteDDLScript(ddl);

当您将继承策略指定为“垂直”时,这意味着每个类都有自己的物理表。因此,您会得到“Employee”表丢失的错误

如果要在单个表“Person”中存储Person和Employee的实例,则需要使用默认的继承策略,即“Flat”

如果您想创建额外的“Employee”表,那么您可以使用模式处理程序API并让OpenAccess生成相应的ddl

var context = new EntityDiagram();
var schemaHandler = context.GetSchemaHandler();
var ddl = schemaHandler.CreateUpdateDDLScript(null);
if(string.IsNullOrEmpty(ddl) == false)
   schemaHandler.ExecuteDDLScript(ddl);

你能给我一些密码吗?很难对你们没见过的东西感到惊讶。所以Employee继承自Person,而不是一个实际的表,对吗?是的。Employee继承自Person表。Person是实际表,Employee不是物理表。您能给出一些代码吗?很难对你们没见过的东西感到惊讶。所以Employee继承自Person,而不是一个实际的表,对吗?是的。Employee继承自Person表。Person是实际表,Employee不是物理表。