问题标签 [csdl]

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 回答
4808 浏览

.net - 实体框架 - 实体映射问题

我有两个表:地址和联系人,它们在contactID(在联系人中)上加入。这两个表在我的实体数据模型 (EF 4.0) 中都有实体,我不想修改它们。

我确实想创建一个包含来自两个实体的信息的新实体。

到目前为止我做了什么:

在 CSDL 中:

在我的 CS 映射中:

我收到的错误是:

从第 150 行开始映射片段的问题:必须为 EntitySet ContactTest 的所有关键属性 (ContactTest.addressID) 指定映射。

当 Contact 实体中不存在 AddressID 时,我应该如何映射该实体?我想我需要某种关联,但我不确定如何去做……请记住,我不想修改现有的地址和联系人实体。

0 投票
2 回答
1345 浏览

entity-framework - 如何从一组现有 POCO 对象以编程方式生成 CSDL 或 EDMX

我想模拟 WCF 数据服务使用它的“$metadata”标签所做的事情......也就是说,发送一个 CSDL 文档,该文档描述可能(或可能不是)属于实体框架模型的现有对象集。事实上,假设 EF 不是这个讨论的一部分......

我想创建一个服务来检查它可以返回的对象的类型,生成一个 CSDL 文档并将其发送给客户端,以便客户端可以从 CSDL 代码生成这些对象(使用 EDMGen 应该可以工作)。一旦客户端生成了对象(并加载了生成的程序集),它就可以从服务接收强类型数据。

似乎 EDMGen 不能用于从 POCO 生成 CSDL(或 EDMX)......它可以通过 db-connection 来实现,并且您可以从 CSDL 生成 POCO,但没有其他方式。有没有人知道的方法?

具体例子

鉴于此代码:

我想生成这个文档:

0 投票
2 回答
3721 浏览

c# - EF4:如何生成:.csdl、.edmx、.msl 和 .ssdl 文件

我正在开发一个使用 linq to sql 的项目。在我的模型文件夹中,我有 4 个文件:

但是该模型与当前数据库已过时。

我想知道如何通过自动化过程(如果可能)更新模型。

而且我想知道如何生成这些文件。我可以通过 .edmx 创建一个 .edmx 文件add => new item => ADO.NET Entity Data Model。但我不知道如何创建其他文件。

提前致谢。

布鲁诺

0 投票
0 回答
377 浏览

64-bit - OData中的无符号整数类型?

有没有办法以 OData 元数据 (CSDL) 格式指定无符号整数?我有一个包含无符号 64 位整数的数据结构,但从这里的文档来看,似乎没有无符号整数的选择?

我有哪些选择?使用 64 位数字的字符串版本,还是使用 Edm.Binary 类型指定十六进制表示?有没有更好的办法?

0 投票
1 回答
481 浏览

wcf - OData描述语言

我想知道 edmx/csdl 相对于 wsdl 2.0 和微软为 OData 选择它的 wadl 有什么优势。有任何想法吗?

0 投票
1 回答
936 浏览

c# - 由于带有关键字“using”的未知命名空间,运行转换失败

我想在我的 *.csdl 中使用“Using”元素来导入其他命名空间,并使用 POCO 来转换对象。

我使用的 CSDL 看起来像这样:

(http://msdn.microsoft.com/en-us/library/bb738545.aspx)

但是,当我使用模板 (POCO) 来转换我的 CSDL 时,运行工具会引发转换错误:

运行转换:没有遇到“BooksModel.Extended”命名空间的架构。确保命名空间正确或指定了定义命名空间的架构。

运行转换:未知命名空间或别名 (BooksModel.Extended)。

我像这样加载我的 CSDL:

如何修改模板以包含未知名称空间?

0 投票
1 回答
621 浏览

django - Django 的 OData 模式生成器 (CSDL)

是否有现有的库可以从 Django 模型生成 CSDL 文档(可选地包裹在 EDMX 中)?最终目标是用于 OData 提供程序。

CSDL:http ://www.odata.org/media/30002/OData%20CSDL%20Definition.html#csdl12.1

示例: http: //msdn.microsoft.com/en-us/library/dd541140 (v=prot.10).aspx

0 投票
2 回答
35106 浏览

c# - EntitySet System.InvalidOperationException - “实体类型不是当前上下文模型的一部分”

类似问题

实体类型 <classname> 不是当前上下文模型的一部分- 和 - EF 4.1 Code First 错误 - 实体类型 SomeType 不是当前上下文模型的一部分是类似的问题,但它们是“代码优先”的观点仅使用更简单的数据模型,并解决连接字符串和映射问题。请仔细看看这个。

症状

Drinks检索集合时引发异常:

代码

是的,我知道在现实世界中,肉类和蔬菜与膳食之间的关系可能是多对多的,但不要在这里纠结。

我的经验是使用 Model First 方法。EDMX 文件是在 POCO 之后构建的。

连接字符串中是映射到已解析 EDMX 资源 ( metadata=res://*/Models.MealsModels.csdl|res://*/Models.MealsModels.ssdl|res://*/Models.MealsModels.msl;) 的元数据部分。

我检查了 EDMX 文件的底层 XML,显示了概念模型和存储模型中存在的所有实体,并且所有实体都已完全映射。怎么回事?

故障排除

第一次尝试是完全摆脱存储和映射 EDMX 数据(SSDLMSL部分)。开火,现在有两个例外:

  1. 检索Meals投掷MSL, error 2062 No mapping specified for instance of the EntitySet and AssociationSet in the EntityContainer

  2. 检索Drinks继续抛出The entity type Drinkis not part of the model for the current context

引发的错误Meals是意料之中的,我对映射和存储模型进行了核对 - 检查_db表明Meals-> InternalSet->EntitySet属性是正确的,只是没有映射。

引发的错误Drinks是我卡住的地方。仔细检查_db我发现Drinks-> InternalSet->EntitySet抛出SystemInvalidOperation异常,指出实体不在模型上下文中。

以下是 EDMX 的 CSDL 在 XML 格式中的样子:

问题

如果DbContext具有所有DbSet属性并且正在使用一个连接字符串,其中包含一个模型的元数据,该模型的 CSDL 正确定义了实体类型Drink为什么它不是上下文的一部分?

我能看到的唯一不同Drink的是它与任何其他实体都没有关系,也没有关联......

0 投票
2 回答
367 浏览

entity-framework - 使用从另一个 CSDL 文件导入命名空间的 CSDL 文件运行 POCO 实体生成器时,没有遇到“基本”命名空间的模式

当使用从另一个 CSDL 文件导入命名空间的 CSDL 文件运行 POCO 实体生成器时,我收到此错误“没有遇到 'Base' 命名空间的模式”。

两个 CSDL 文件都已移动到项目文件夹之外的不同文件夹中。这是因为我必须编辑 Administracion.csdl 文件才能从“Base”CSDL 文件中导入命名空间。

“Administracion.csdl”文件如下所示:

我编辑了 POCO 实体生成器模板来读取我编辑过的 CSDL 文件,而不是读取项目文件夹中的 EDMX 文件。

模板上的代码如下所示:

运行模板时出现以下错误:

我究竟做错了什么?是因为 CSDL 文件位于不同的文件夹中吗?我必须把它们放在哪里?POCO 实体生成器模板可以处理在 CSDL 文件上导入命名空间吗?

0 投票
1 回答
78 浏览

csdl - Frequently Updated CSDL query in DataSift

Our DataSift CSDL query looks this way:

This works but each time a couple of new keywords are added to the list, I have to pull the entire list from the DB. This is unacceptable.

My question is, if there is a way to slightly modify a currently active subscription if I know exactly what keywords are being added and removed from the csdl query ?