Fluent API patterns for managing object persistence
    3.
    发明授权
    Fluent API patterns for managing object persistence 有权
    用于管理对象持久性的流畅API模式

    公开(公告)号:US08595175B2

    公开(公告)日:2013-11-26

    申请号:US13179601

    申请日:2011-07-11

    IPC分类号: G06F17/00 G06N5/02

    CPC分类号: G06F9/4493

    摘要: Fluent API Patterns promote balance in managing object persistence. Code which obtains an object-relational mapper session contains API Patterns that manipulate persistence ignorant objects using calls to a fluent interface. When the developer's code executes, it may manipulate an object state, a property state, and/or a persistent relationship of the persistence ignorant object. The code may implement API Patterns such as find-change-save, current-value-original-value, nested-property, incremental-graph-load, incremental-graph-filtered-load, property-modification, dictionary, and/or other API Patterns. Additional examples of API Patterns include an API Pattern to read current, original, and database values for all properties of an entity; an API Pattern to set current and/or original values from another object; and an API Pattern to create a cloned object containing current, original, and/or database values. In any or all of these situations, the API Pattern calls to the fluent interface may be written in a strongly typed language.

    摘要翻译: 流畅的API模式可以在管理对象持久性方面促进平衡。 获取对象关系映射器会话的代码包含使用对流畅接口的调用来处理持久性无知对象的API模式。 当开发人员的代码执行时,它可以操纵持久性无知对象的对象状态,属性状态和/或持久关系。 代码可以实现API模式,例如find-change-save,current-value-original-value,嵌套属性,增量图加载,增量图过滤加载,属性修改,字典和/或其他 API模式。 API模式的其他示例包括用于读取实体的所有属性的当前,原始和数据库值的API模式; 用于设置来自另一个对象的当前值和/或原始值的API模式; 以及用于创建包含当前,原始和/或数据库值的克隆对象的API模式。 在任何或所有这些情况下,流畅界面的API模式调用可能用强类型语言编写。

    Object-relational mapped database initialization
    4.
    发明授权
    Object-relational mapped database initialization 有权
    对象关系映射数据库初始化

    公开(公告)号:US08600925B2

    公开(公告)日:2013-12-03

    申请号:US13179598

    申请日:2011-07-11

    IPC分类号: G06F17/00 G06N5/02

    CPC分类号: G06F17/30557

    摘要: A balance is provided between automation of repetitive database creation and configuration efforts, on the one hand, and flexibility to depart from prior configurations, on the other hand, to assist developers with aspects of database initialization. An application domain includes data context instances, database connections, object models mapped by an object-relational mapper, and database initializers. Upon the first attempted runtime use of a particular database connection—data context instance—object model combination, a database initializer is invoked. Initializers may check to see if the database exists, (re)generate a database and schema based on the object model, determine whether the database is compatible with the current object model, delete the database and its schema, seed data, modify database indexes, and/or migrate an existing database, for example. A custom initializer can run developer-supplied code as desired to place the database in a known state for use by the application.

    摘要翻译: 另一方面,在重复数据库创建和配置工作的自动化之间提供了平衡,另一方面,它可以灵活地摆脱以前的配置,从而帮助开发人员了解数据库初始化的各个方面。 应用程序域包括数据上下文实例,数据库连接,由对象关系映射器映射的对象模型以及数据库初始化程序。 在首次尝试运行时使用特定的数据库连接数据上下文实例 - 对象模型组合时,将调用数据库初始化程序。 初始化器可以检查数据库是否存在,(re)基于对象模型生成数据库和模式,确定数据库是否与当前对象模型兼容,删除数据库及其模式,种子数据,修改数据库索引, 和/或迁移现有数据库。 自定义初始化程序可以根据需要运行开发人员提供的代码,以将数据库置于已知状态以供应用程序使用。