小编Cra*_*her的帖子

定义实体框架1:1关联

我正在尝试在实体框架模型中定义两个实体之间的1:1关联(一个映射到表,另一个映射到视图 - 使用DefinedQuery).在设计器中尝试为此定义映射时,它会让我选择(1)表或视图来将关联映射到.我应该选择什么?我可以选择这两个表中的任何一个,但后来我被迫从该表(或视图)中为每个关系结束选择一列.我希望能够从一个表中选择一个列作为关联的一端,另一个表中的列作为关联的另一端,但是没有办法做到这一点.

在这里,我选择映射到"DW_ WF_ClaimInfo"视图,它迫使我从该视图中选择两列 - 一个用于关系的每一端.

我也尝试在XML中手动定义映射,如下所示:

<AssociationSetMapping Name="Entity1Entity2" TypeName="ClaimsModel.Entity1Entity2"
     StoreEntitySet="Entity1">
  <EndProperty Name="Entity2">
    <ScalarProperty Name="DOCUMENT" ColumnName="DOCUMENT" />
  </EndProperty>
  <EndProperty Name="Entity1">
    <ScalarProperty Name="PK_DocumentId" ColumnName="PK_DocumentId" />
  </EndProperty>
</AssociationSetMapping>
Run Code Online (Sandbox Code Playgroud)

但是这给出了:错误2010:在MetadataWorkspace中不存在作为此MSL的一部分指定的列'DOCUMENT'.看起来它仍然希望两列都来自同一个表,这对我来说没有意义.

此外,如果我为每一端选择相同的密钥,例如:

<AssociationSetMapping Name="Entity1Entity2" TypeName="ClaimsModel.Entity1Entity2"
     StoreEntitySet="Entity1">
  <EndProperty Name="Entity2">
    <ScalarProperty Name="DOCUMENT" ColumnName="PK_DocumentId" />
  </EndProperty>
  <EndProperty Name="Entity1">
    <ScalarProperty Name="PK_DocumentId" ColumnName="PK_DocumentId" />
  </EndProperty>
</AssociationSetMapping>
Run Code Online (Sandbox Code Playgroud)

然后我得到:

Error 3021: Problem in Mapping Fragment starting at line 675: Each of the following
columns in table AssignedClaims is mapped to multiple conceptual side properties:
  AssignedClaims.PK_DocumentId is mapped to
    <AssignedClaimDW_WF_ClaimInfo.DW_WF_ClaimInfo.DOCUMENT,
    AssignedClaimDW_WF_ClaimInfo.AssignedClaim.PK_DocumentId> …
Run Code Online (Sandbox Code Playgroud)

.net ado.net entity-framework visual-studio

12
推荐指数
1
解决办法
2万
查看次数

更改作为继承层次结构一部分的(Entity Framework)实体的类型

我有一个继承层次结构,其中包含一个基本的Employee实体和一些用于特定员工类型的后代实体.我需要能够将基础Employee实体转换为更具体的实体(例如TemporaryEmployee),并从更具体的类型转换回基本类型(例如,如果员工不再是"临时"的话,那么我希望该实例只是持久化为Employee.在DB中,这只是在表中为特定子类添加或删除一行的问题.(我每个类都使用表.)虽然我没有看到如何使用EF调用.

.net inheritance entity-framework

8
推荐指数
2
解决办法
4343
查看次数

从IIS日志中提取不同的RESTful MVC路由

我的商店在IIS 7上使用MVC3/FUBU.我最近投入了一些工作,我想使用日志解析器从IIS日志中收集指标.我以前做了很多次但是因为MVC3路由的形式是/ api/person //地址/日志保存/ api/person/123/address/456在uristem列中.

有没有人对如何从IIS日志中获取有关特定路由的数据有任何想法?

作为一个例子:日志像这样:

cs-uri-stem
/api/person/123/address/456
/api/person/121/address/33
/api/person/1555/address/5555
Run Code Online (Sandbox Code Playgroud)

输出如:总命中数= 3

rest iis-logs fubumvc asp.net-mvc-3

3
推荐指数
1
解决办法
435
查看次数

与 Typescript 等效的 typedef

我的应用程序中有各种类型的整数 ID(例如 ProductId、UserId 等),我想实现强类型,以便我可以确保将正确的 ID 类型传递给方法。

例如,我想声明GetProduct(productId: ProductId)而不是GetProduct(productId: number)只有 ProductId 类型的变量可以传递给它。

在我的 C 时代,我会使用 typedef - 例如 typedef ProductId int;

在 C# 中,我通过使用隐式转换为 int 运算符和显式转换为 int 运算符定义 ProductId 类来实现这一点。比 typedef 更麻烦,但它有效。

我想弄清楚如何在 Typescript 中做等效的事情。对于打字稿我试过这个:

export class ProductId extends Number {}
Run Code Online (Sandbox Code Playgroud)

但这仍然允许传递一个数字来代替 ProductId。

如何在 TypeScript 中实现这一目标?

typedef typescript

2
推荐指数
1
解决办法
4738
查看次数