标签: mapping

EF4代码优先:定义对象关系,外键

<RANT_MODE>

EF代码优先方法意味着节省大量时间,但暂时我只看到玩具示例,并花了几个小时试图了解如何使它生成我想要的数据库.但仍然希望尤里卡时刻:-)

<RANT_MODE />

关于问题!

虚拟与具体属性

我试图了解EF如何映射和检索对象关系.什么时候我应该标记一个属性virtual?(public Person Owner { get; set; }与对比一样public virtual Person Owner { get; set; }.)在代码优先的几十个例子中,我看到他们似乎可以互换地使用这些,而没有太多的解释.我所知道的是导航属性(public virtual ICollection<Person> Owners { get; set; })需要是virtual为了使延迟加载成为可能(正确...?),但这在非集合的世界中如何应用?

对象关系和外键

public int OwnerId { get; set; }除了我感兴趣的'main'属性之外,我无法找到关于是否应该包含外键字段()的任何信息public Person Owner { get; set; }.我试着不这样做,EF亲切地自动添加了一个Owner_Id在我的表中命名的int列,似乎理解了我的意图.

Code First的约定("外键"部分)中,EF团队提到"在关系的依赖端包含外键属性是很常见的",并且"Code First现在将推断任何名为''的属性(即OwnerId)[...]与主键具有相同的数据类型,表示关系的外键".IE浏览器.如果我有两个EF将知道他们是相关的.

但除了"异物"本身之外,明确指定持有FK的此类属性是否被视为良好做法?

异物,外键 - 继续

正如我上面提到的,即使我只public Person Owner { get; set; }在我的对象中(例如Event),该表Events将包含Owner_Id由EF自动添加的列.更重要的是,在检索时,我将可以访问属性 …

.net mapping entity-relationship entity-framework code-first

17
推荐指数
1
解决办法
2431
查看次数

将间隔映射到较小间隔的算法

我试着搜索,但由于我的问题的性质,我无法找到令人满意的东西.

我的问题如下:我试图将范围从0到2000(尽管理想情况下上限可调)的数字映射到范围从10到100的小得多的区间.上限将映射(2000-> 100)和也是下限.除此之外,一个比区间[0; 2000]中的另一个条目更大的条目理想地大于[0; 100]中的映射条目

我认为这个问题不是特定于语言的,但如果您想知道,我今天正在使用Javascript.

mapping algorithm distribution

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

Elasticsearch:在使用html_strip过滤器无法正常工作的索引文档之前剥离HTML标记

鉴于我在自定义分析器中指定了我的html strip char过滤器

我使用html内容索引文档时

然后我希望html脱离索引内容

并且在检索时,索引的返回文档不包含hmtl

ACTUAL:索引文档包含html检索到的doc包含html

我已经尝试将分析器指定为index_analyzer,就像人们期望的那样,以及其他一些绝望的search_analyzer和analyzer.Non似乎对正在索引或检索的doc有任何影响.

根据HTML_Strip测试文档索引分析字段:

请求:带有html内容的示例POST文档

POST /html_poc_v2/html_poc_type/02
{
  "description": "Description <p>Some d&eacute;j&agrave; vu <a href=\"http://somedomain.com>\">website</a>",
  "title": "Title <p>Some d&eacute;j&agrave; vu <a href=\"http://somedomain.com>\">website</a>",
  "body": "Body <p>Some d&eacute;j&agrave; vu <a href=\"http://somedomain.com>\">website</a>"
}
Run Code Online (Sandbox Code Playgroud)

预期:索引数据已通过html分析器解析. 实际:数据使用html编制索引

响应

{
   "_index": "html_poc_v2",   "_type": "html_poc_type",   "_id": "02", ...
   "_source": {
      "description": "Description <p>Some d&eacute;j&agrave; vu <a href=\"http://somedomain.com>\">website</a>",
      "title": "Title <p>Some d&eacute;j&agrave; vu <a href=\"http://somedomain.com>\">website</a>",
      "body": "Body <p>Some d&eacute;j&agrave; vu <a href=\"http://somedomain.com>\">website</a>"
   }
}
Run Code Online (Sandbox Code Playgroud)

设置和文档映射

PUT …
Run Code Online (Sandbox Code Playgroud)

html mapping full-text-search filter elasticsearch

17
推荐指数
1
解决办法
5968
查看次数

在复选框内部映射复选框ReactJS

我有一个函数,一旦选中主复选框,就会触发子复选框,所有这些复选框都是从JSON映射的。单击时会显示主要复选框(最高级别)及其下的所有子级复选框(第二级),并且效果很好,我要显示的是单击时主要复选框(第3级)的那些子级的子级第二级项目。

基本上是在检查时将所有三个订单都显示在彼此的下面,并将第三个订单添加到当前代码中,因此选项组显示Options,而Options下是我要显示的内容,分别是Option 1Option 2Option 3等等。上..

复选框值作为道具从Checkbox.js传递到发生提取/映射的Itemlist.js

(PS我对每个部分都有选择限制,以防万一有人对选择过程感到困惑,这与这个问题无关,可以忽略)

主代码段:https ://codesandbox.io/embed/6jykwp3x6n ? fontsize =14

仅用于演示的第三级目标框:https : //codesandbox.io/embed/o932z4yr6y?fontsize=14

Checkbox.js

import React from "react";
import "./Checkbox.css";

class Checkboxes extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      currentData: 0,
      limit: 2,
      checked: false
    };
  }

  selectData(id, event) {
    let isSelected = event.currentTarget.checked;
    if (isSelected) {
      if (this.state.currentData < this.props.max) {
        this.setState({ currentData: this.state.currentData + 1 …
Run Code Online (Sandbox Code Playgroud)

javascript mapping checkbox ecmascript-6 reactjs

17
推荐指数
1
解决办法
283
查看次数

Hibernate枚举映射

我需要事先将未实现接口的枚举映射到现有数据库,现有数据库使用枚举将枚举存储在与所有者类相同的表中@Enumerated(EnumType.STRING).

class A {
    HasName name;
}

interface HasName {
    String getName();
}

enum X implements HasName {
    John, Mary;

    public String getName() { return this.name(); }
}

enum Y implements HasName {
    Tom, Ann;

    public String getName() { return this.name(); }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下应该如何处理映射?持久化到数据库不会改变,因为实现接口的所有枚举都会有不同的值,但我不确定如何从数据库中检索对象(我是否需要一个自定义映射器,它将尝试实例化一个枚举使用指定的枚举类?Hibernate本身是否支持此功能?).

java mapping enums hibernate

16
推荐指数
2
解决办法
4万
查看次数

我应该将DTO映射到客户端和服务器端的域实体吗?

我有一个丰富的域模型,其中大多数类都有一些行为和一些属性,可以计算或公开成员对象的属性(也就是说这些属性的值永远不会被持久化).

我的客户端只通过WCF与服务器通话.

因此,对于每个域实体,我有一个相应的DTO - 一个只包含数据的简单表示 - 以及一个mapper类,它实现DtoMapper<DTO,Entity>并可以通过静态网关将实体转换为DTO等效或反之亦然:

var employee = Map<Employee>.from_dto<EmployeeDto>();
Run Code Online (Sandbox Code Playgroud)

此应用程序的服务器端主要是持久性,我的DTO从WCF服务进入,反序列化,然后任意ORM将它们持久存储到数据库,或者来自WCF的查询请求和ORM执行该查询数据库并返回要由WCF序列化和发回的对象.

鉴于这种情况,将持久性存储映射到域实体是否有意义,或者我应该直接映射到DTO?

如果我使用域实体,那么流程就是

  1. 客户请求对象
  2. WCF将请求发送到服务器
  3. ORM查询数据库并返回域实体
  4. 域映射实体转换为DTO的域实体
  5. WCF序列化DTO并返回客户端
  6. 客户端反序列化DTO
  7. DTO通过映射器转换为域实体
  8. viewmodels创建

回程类似

如果我直接映射到DTO,我可以根据请求消除每个对象的一个​​映射.这样做我会失去什么?

唯一想到的是在插入/更新之前验证的另一个机会,因为我不能保证DTO在被发送之前经过验证或者甚至作为域实体存在,我想有机会验证select(如果另一个进程可能在数据库中放置了无效值).还有其他原因吗?这些原因是否足以保证额外的映射步骤?

编辑:

我之前确实说过"任意ORM",我确实希望事情尽可能与ORM和持久性无关,但是如果你有任何特殊的东西可以添加到NHibernate,那么一定要做.

.net mapping orm serialization dto

16
推荐指数
1
解决办法
5678
查看次数

Perl映射 - 需要将数组映射到散列中作为arrayelement-> array_index

我有一个像这样的数组:

my @arr = ("Field3","Field1","Field2","Field5","Field4");
Run Code Online (Sandbox Code Playgroud)

现在我使用下面的地图,其中/ DOSOMETHING /是我正在寻找的答案.

my %hash = map {$_ => **/DOSOMETHING/** } @arr
Run Code Online (Sandbox Code Playgroud)

现在我要求哈希看起来如下所示:

Field3 => 0
Field1 => 1
Field2 => 2
Field5 => 3
Field4 => 4

有帮助吗?

arrays mapping perl hash

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

如何使用Charles Proxy通过https启用Map Local?

我正在使用Charles Proxy的方便的Map Local工具来开发CSS文档.通过这种方式,我可以立即看到我的编辑,而无需重新部署整个企业级webapps的精彩世界可以节省大量时间.

我刚刚发现Map Local不支持https协议.我对http没有任何问题,一切都按预期工作.

我使用的是Windows 7,每个浏览器都存在问题.

什么可能是错误的配置?

mapping https configuration proxy charles-proxy

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

PHP数组映射

有没有比foreach获得所有"标签"值数组更清晰的方法?

$methods[0]['label'] = 'test';
$methods[0]['nr']    = 99;
$methods[1]['label'] = 'whatever';
$methods[1]['nr']    = 10;


foreach($methods as $method) {
    $methodsLabel[] = $method['label'];
}
Run Code Online (Sandbox Code Playgroud)

php arrays mapping multidimensional-array

16
推荐指数
5
解决办法
3万
查看次数

在haskell的双重地图?

我仍然是一名哈斯克尔初学者.我可以在哈斯克尔做双重地图吗?

例如,如果我有一个[[Char]]并且我想将每个Char中的每个转换[Char]为小写,那么有一种简单的方法可以做到这一点,而不是像:

exampleF [] = []
exampleF (x:xs) = (map toLower x) : exampleF xs
Run Code Online (Sandbox Code Playgroud)

mapping haskell

16
推荐指数
2
解决办法
5993
查看次数