问题标签 [telerik-open-access]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
96 浏览

postgresql - 返回从 PostgreSQL 更新到 Telerik 实体框架的记录数

我在 PostgreSQL 中有一个存储过程,定义为:

存储过程正确测试以返回更新的记录数

在 PgAdmin 中执行。当调用 Telerik DataAccess 从数据库更新域时,它会将其编译为:

从我读过的所有内容来看,这似乎是合适的。但是,您将如何编写一个方法来调用它?

这失败了,因为它调用了未实现的静态过程:

而且我也不知道如何使用“MappedFunctionAttribute”所指的 Telerik 元数据。

任何帮助将不胜感激,因为我已经为此苦苦挣扎了好几天。

0 投票
1 回答
65 浏览

telerik - Telerik 数据访问 - 参数 Null 异常 (ConverterName)

我正在尝试实现非持久类型。我正在使用 postgres 数据库来生成 EntitiesModelA2。

展开此图像将显示参数名是 **convertername**

在此处输入图像描述

0 投票
1 回答
326 浏览

c# - ASP.NET MVC 中的 Telerik OpenAccess NULL 参考

我在 ASP.NET MVC 5 中使用 Telerik 域模型。当我在单元测试项目中使用上下文时,一切正常。但是当我在 MVC 控制器上使用它时,我得到了这个异常:

谢谢

0 投票
1 回答
123 浏览

c# - 如何向 Telerik Open Access MVC 项目添加新表?

我继承了一个 MVC 项目,该项目似乎使用 Telerik Open Access 来处理数据,而不是使用我更熟悉的实体框架之类的东西。我正在尝试了解如何使用此数据方法的整个概念,但现在我只需要了解如何添加表格。我将我的代码示例限制在一张表中,但实际上有几十个。

所以我看到类 OpenAccessContext.cs 有一个数据库连接字符串,但它也有一个由类 tblMaterial 组成的 IQueryable 项。tblMaterial 类在 tblMaterial.cs 中定义。我不明白这个类是如何连接到 tblMaterial 的 SQL 数据库版本的(所以请随时教育我)。

我在 SQL 数据库中有一个名为 tblContacts 的表。我需要做什么才能将其连接到我的项目?当我右键单击解决方案中的任何对象时,没有“从数据库更新”选项(因为它们都只是类)。我需要手动创建一个名为 tblContacts.cs 的新类吗?如果是这样,我如何将它连接到 tblContacts 的数据库版本?我是否需要手动更改多个类来添加表(OpenAccessContext、MetadataSources、Repository 等)?

我试图将其保留为一个简单的问题(如何添加表格),因此我不会感到厌烦,但是您可以在 Telerik Open Access 上发光的任何光线都会有所帮助。(请不要问我这个问题!)我在这里查看了 Telerik 文档:http: //docs.telerik.com/data-access/developers-guide/code-only-mapping/getting-started/fluent- mapping-getting-started-fluent-mapping-api,但它与设置新的开放访问解决方案有关。我需要知道如何修改一个(不破坏已经工作的代码)。预先感谢您的帮助!

这是在 Visual Studio 中看到的解决方案:

  • 开放存取
    • 特性
    • 参考
    • OpenAccessContext.cs
    • OpenAccessMetadataSources.cs
    • 存储库.cs
    • tblMaterial.cs

这是代码:

OpenAccessContext.cs

OpenAccessMetadataSources.cs

存储库.cs

tblMaterial.cs

0 投票
1 回答
483 浏览

c# - 将对象附加到 Telerik OpenAccess 数据上下文时遇到问题

我正在编写一些测试来扩展基于 Telerik OpenAccess ORM 构建的库的存储库层,并且在管理上下文时遇到了一些问题。

我正在创建一个新的 RegionEntity 对象并将其添加到数据库中。我使用 using 语句,以便上下文自行清理。我另外创建了添加的 RegionEntity 的 Detached 副本,以便稍后可以将其重新附加到上下文。

到目前为止……没问题。在下面的 TestMethod 中,我调用上述方法并收到一个分离的 RegionEntity。(我已经撤回了我的断言声明,因为它们与问题无关紧要)。然后我将实体传递给我想要测试的 Respository 方法。

为了完整起见,我在下面包含了所有剩余的代码,与我的应用程序中出现的完全相同。存储库方法是通用的(再次......不应该与问题相关)。第一个方法是由测试方法调用的方法,将区域作为entityToRemove参数传递。该方法又调用 DBUtils 方法GetContext(),该方法将从实体中检索 DbContext,或者...如果无法派生...创建要使用的新上下文。在我们的示例中,正在创建一个新的上下文。

无论如何,该方法然后将此上下文和实体作为参数传递给重载。此方法将 DbContext 作为附加参数(允许在多步骤工作流中使用单个上下文)。所以使用的上下文应该仍然是我们从实体中提取或在GetContext()方法中创建的上下文。然后我检查实体是否附加到上下文。在这种情况下,我将“已分离”标志作为状态标志之一(其他标志为MaskLoaded | MaskManaged | MaskNoMask),因此该过程随后将实体附加到上下文,并在第二次检查时确认已分离标志为否存在时间更长。

事实证明,实体没有被附加......并且正在引发异常。

我已阅读有关分离和附加对象到上下文的 Telerik 文档...附加和分离对象

0 投票
1 回答
216 浏览

c# - 无法更新 Telerik Open Access 中日期值为空的记录

我有一个 Telerik 数据访问项目的解决方案。尝试更新记录时遇到问题。我认为问题与在尝试更新它之前它是数据库中具有空值的日期字段这一事实有关,但我不确定。谁能告诉我如何解决它?

在 MVC 项目中,我们有一个名为 tblCoLocation 的模型。它链接到我们的 SQL 数据库。该模式在数据访问项目中定义为

为了更新数据,在一个名为 Repository.cs 的文件中,我有这个方法:

我有用于更新其他模型的类似代码,但对于 tblCoLocation 它会引发错误。数据库中的字段 ModOn 为空(这是我们客户的设计,null 表示记录没有被修改,他们希望以这种方式保留数据)。我们正在尝试将 ModOn 设置为今天的日期,并且我已经验证该模型在点击 SaveChanges() 命令时确实具有 ModOn 的值。如果我手动在数据库中的 ModBy 中输入一个值,则更新将按预期工作。这就是为什么我认为 ModOn 最初为 null 可能是问题所在。

当它到达本节时发生的错误(我已经单步执行了代码,错误来自 dat.SaveChanges)是这样的:

“/”应用程序中的服务器错误。SqlDateTime 溢出。必须介于 1753 年 1 月 1 日上午 12:00:00 和 9999 年 12 月 31 日晚上 11:59:59 之间。

异常详细信息:System.Data.SqlTypes.SqlTypeException:SqlDateTime 溢出。必须介于 1753 年 1 月 1 日上午 12:00:00 和 9999 年 12 月 31 日晚上 11:59:59 之间。

[SqlTypeException:SqlDateTime 溢出。必须在 1753 年 1 月 1 日凌晨 12:00:00 到 9999 年 12 月 31 日晚上 11:59:59 之间。]

Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.executeUpdate(Nullable 1 commandTimeout) +785
OpenAccessRuntime.Relational.conn.PooledPreparedStatement.executeUpdate(Nullable`1 commandTimeout) +146
OpenAccessRuntime.Relational.RelationalStorageManager.generateUpdates(OID oid, Int32 index , ClassMetaData cmd, PersistGraph 图, Int32[] fieldNos, Boolean haveNewObjects, CharBuf s, BatchControlInfo batchControl, Boolean previousInserts) +3385

[DataStoreException:更新失败:System.Data.SqlTypes.SqlTypeException:SqlDateTime 溢出。必须介于 1753 年 1 月 1 日上午 12:00:00 和 9999 年 12 月 31 日晚上 11:59:59 之间。在 Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.executeUpdate(Nullable 1 commandTimeout) 在 OpenAccessRuntime.Relational.conn.PooledPreparedStatement.executeUpdate(Nullable1 commandTimeout) 在 OpenAccessRuntime.Relational.RelationalStorageManager.generateUpdates(OID oid, Int32 index, ClassMetaData cmd , PersistGraph 图, Int32[] fieldNos, Boolean haveNewObjects, CharBuf s, BatchControlInfo batchControl, Boolean previousInserts) Row: GenericOID@91ae60ab tblCoLocation LocID=5 UPDATE [tblCoLocation] SET [Address2] = ?, [Country] = ?, [ModBy] = ?, [模组] = ? 在哪里 [LocID] = ?和 [地址 2] = ? 和 [国家] = ? 和 [ModBy] = ? 和 [ModOn] = ? (将事件日志设置为所有以查看参数值) System.Data.SqlTypes.SqlTypeException:SqlDateTime 溢出。必须介于 1753 年 1 月 1 日上午 12:00:00 和 9999 年 12 月 31 日晚上 11:59:59 之间。在

看起来我是否正确猜测是数据库中 ModOn 的初始空值导致了问题?如果是这样,如何在不更改 ModOn 初始值的情况下保存此记录?

0 投票
2 回答
664 浏览

visual-studio - Telerik Data Access 自动生成类

在最近的版本之前,我很高兴首先在数据库中使用 Telerik Data Access:

  • 在外部数据库设计器中创建数据库模式
  • 在 Visual Studio 中生成流畅的模型
  • 每当我进行数据库更改时,我要么重新运行生成,要么通过可视化设计器更新模型,具体取决于更改的幅度

在最后一个版本之后,我用于生成的模板已经消失(就像视觉设计师一样),并且任何尝试谷歌搜索该解决方案都会将我带到 Telerik 文档页面,说该信息已被弃用。

我正在使用现有的大型数据库(100 多个表),我无法手动编写模型。

自动生成模型的当前选项是什么?

0 投票
2 回答
39 浏览

c# - 在集合中查找具有子集合列表中任何字符串的对象

好吧,这个让我难住了。

我有一个名为 Interviews 的对象集合。采访中有一系列笔记。Note 具有名为 NoteText 的字符串 (nvarchar(max) on the database) 属性。

我有一个名为关键字的列表。

我需要做的是找到所有具有 NoteText 属性中的任何关键字的 Note 的采访。

到目前为止我有这个:

我没有收到错误,我也没有得到任何结果。

0 投票
1 回答
54 浏览

winforms - 如何获取修改实体的旧值和新值:Telerik Open DataAccess

我正在使用 Telerik Entity 框架,我正在寻找一些方法/函数,通过它我可以获得修改实体的新(当前)值,

因为我已经可以通过这样做来获得修改实体的旧值......

如何获得新的价值观,有什么建议吗?

0 投票
1 回答
105 浏览

c# - Telerik Open Access FetchStrategy 似乎不适用于我的查询

我的 Telerik OpenAccess ORM 有一些(更多)问题。这次是在将 Fetch Strategies 应用于查询的领域。这是代码...

当我运行它时,我希望预加载DeliverablePackageEntityPackageContents 。但是,当我在调试器中查看实体变量时,它告诉我“扩展时将枚举属性的内容”,这表明该属性尚未预先填充,这就是我认为的目的FetchStrategy 是。

我错过了什么吗?