繁体   English   中英

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

[英]Error executing query: Telerik.OpenAccess.RT.sql.SQLException: Invalid object name '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();
        }

请帮忙。

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

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

如果要创建其他“雇员”表,则可以使用Schema Handler API,并让OpenAccess生成适当的ddl。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM