小编Tom*_*sen的帖子

SQL"树状"查询 - 大多数父组

我在SQL中执行"树状"查询(我们称之为什么?)时遇到了一些麻烦.

看看下面的图表(表格和列名称都是丹麦语 - 抱歉):

DB图http://img197.imageshack.us/img197/8721/44060572.jpg 使用MSSQL Server 2005,目标是为每个客户(Kunde)找到最多的父组(Gruppe).

每个组可以有许多父组和许多子组.

而且,我还想知道如何显示这样的树:

Customer 1
   - Parent group 1
      - Child group 1
         - ChildChild group n
      - Child group n
   - Parent group n
      - ...
         - ...
Customer n
   - ...

另一个问题:

查询如何为所有客户获取所有组?父母和子女团体.

sql tree

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

EF Core 2.0 OwnsOne列前缀

使用OwnsOne映射复杂类型时,sql列名称以属性名称为前缀。是否可以在映射中指定前缀名称?

这是我的映射:

e.OwnsOne(x => x.Attributes, cb =>
{
    cb.OwnsOne(a => a.Supplier);
});
Run Code Online (Sandbox Code Playgroud)

我希望sql列以“ Attr_”而不是“ Attributes_”作为前缀。这可能吗?

ef-core-2.0

5
推荐指数
2
解决办法
699
查看次数

右键单击表格行上的打开上下文菜单

是否可以让下拉上下文菜单适用于整个表格行?我们可以使用单元格渲染方法渲染下拉菜单,但由于单元格填充,它不会覆盖整个表格单元格。因此用户必须精确地单击显示的文本,而不是整个单元格。

antd

5
推荐指数
1
解决办法
6237
查看次数

使用PDF.js查看器显示受保护资源提供的pdf

我正在研究如何使用pdfjs查看器来提供受保护资源背后的PDF.

根据我的理解,如果资源允许匿名访问,这将有效: https://app.com/pdf.js/web/viewer.html?file=https://app.com/pdf/{id}

资源https://app.com/pdf/{id}返回内容类型的响应application/pdf.

但是,该资源要求OAuth2令牌出现在授权标头中.那么是否可以修改查看器创建的标头,包括授权标头并传递用户的标记?

javascript pdfjs

5
推荐指数
1
解决办法
775
查看次数

ASP.NET MVC,自动完成文本框,缓存?

使用ASP.NET MVC,我实现了一个自动完成文本框,使用的方法非常类似于Ben Scheirman的实现,如下所示:http://flux88.com/blog/jquery-auto-complete-text-box-with- ASP净MVC /

我无法弄清楚的是,为自动填充文本框缓存数据是否是一个好主意,因此每次击键时都不会有数据库往返?

如果首选缓存,您是否可以指导我如何为此目的实现缓存?

asp.net-mvc caching autocomplete

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

DDD:地址作为聚合根?

我正在努力设计这个系统,其中地址是最重要的信息.现在在这种情况下,地址不仅仅是几行字符串.我们将市政当局(代码,姓名),地区(邮政编码,姓名),街道(代码,姓名),门牌号码存放在属于市政的特定区域的街道上.这是一个非常规范化的计划.

因此,我们将实体Municipal,District,Street和HouseNumber各自相互关联,为一个人(或其他人)定义一个完整的地址.

现在我一直在试图找出一个名为Address的聚合根是否有意义?然后,地址实体(聚合根)将引用HouseNumber,Street,District和Municipal.然后一个人将与一个地址相关联.

严格来说,这个聚合根不是必需的,但是如果我没有它,我将不得不遍历许多对象以获得完整的地址.根据该参数创建聚合根是否有意义?

在这种情况下,一个人永远不会引用除聚合根之外的任何东西,但UI可能只显示市政当局(浏览地址时等).这是违反总体根本想法的吗?

我真的很喜欢你的建议并接受这个问题.任何帮助都感激不尽!


关于我的问题的另一个讨论的一点点更新:

需要在聚合中管理一些不变量.例如; 我不能在一个区/市的街道上有一个门牌号,邮政箱位于另一个不同的区/市.因此,在为地址/人员分配邮箱时,我需要确保他们在同一地区.

还有一些一致性边界(如果我理解这个概念的正确方法).如果我有地址,则必须在街道上的一个区(在该区)中有一个门牌号码.街道可以跨越多个区域,因此确保该街道上的门牌号位于正确的区域非常重要.


有关设计聚合的更新:

门牌号实际上是地址的入口点.门牌号码与街道和地区相关联.所以一个人与门牌号码相关联.我还想要定义的是,如果一个人对该门牌号码有"邮政责任".引入聚合根地址,使该人与该关联而不是门牌号.在数据库中,聚合地址将包含与门牌号的1-1关联,并且地址对人员具有1-*.我应该在哪里存储表明该人有邮政责任的价值?我应该在地址汇总中这样做吗?或者你会把它放在哪里?我的实体也是如此 - 我应该在哪里指出该人是否有邮政责任?

oop domain-driven-design aggregate

4
推荐指数
1
解决办法
1355
查看次数

WIF身份验证方案.STS实施问题

我们正在考虑使用WIF来验证我们的用户,因此我开始收集一些有关如何以正确方式执行此操作的信息.主要是我们应该如何创建STS.我很难找到有关我们场景的一些信息,我们有一个"主要"服务,将由内部和外部客户使用.

内部客户端将使用TCP连接到服务.我们的员工使用的桌面客户端应使用其域凭据(Active Directory)对服务进行身份验证.除此之外,我们还有少量使用该服务进行数据处理的应用程序.我们想向这些应用程序颁发证书.然后,他们将使用该证书通过STS进行身份验证,并返回包含该应用程序声明的令牌.那可能吗?

外部客户端将通过HTTP连接,使用用户名/密码(Web客户端)进行身份验证,或者通过上面提到的证书进行身份验证.

这是一个有效的场景吗?你会如何在WIF中实现这一点?你能指点一些你认为有帮助的文章吗?我可以通过单个STS(WCF)解决这个问题,还是需要多个STS?单个STS可以处理多种凭证(AD /用户名/证书)吗?

先感谢您.任何帮助都感激不尽.

c# authentication wcf wif

4
推荐指数
1
解决办法
2037
查看次数

XAML:将样式应用于嵌套控件

在WPF,Prism v4中,我有一个ToolBar作为一个区域.在这个区域中,我注入UserControls,其中包含工具栏的按钮和分隔符.问题是因为按钮现在位于UserControl中,所以工具栏样式不再适用.

可以通过定义样式解决这个问题:

<Separator Style="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}"/>
<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"/>
Run Code Online (Sandbox Code Playgroud)

但我想避免这种情况,因为我有数百个按钮.所以我的问题是我是否可以从资源字典中为ToolBar下的所有按钮定义样式?

谢谢!

wpf xaml styles

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

NHibernate MappingException.没有毅力

我正在努力让NHibernate工作.我有这门课:

mm.k.Domain.Kampagne
Run Code Online (Sandbox Code Playgroud)

(命名空间/程序集是mm.k.Domain)

在另一个Visual Studio项目(Assembly mm.k.Infrastructure)中,我获得了我的映射文件(在Mappings目录中),我的hibernate.cfg.xml和一些存储库.

继承我的映射文件:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   assembly="mm.k.Domain"
                   namespace="mm.k.Domain">

  <class name="Kampagne" table="Kampagner">
    <id name="Id">
      <generator class="identity" />
    </id>
    <property name="Navn" not-null="true" />
    <property name="Logo" />
  </class>

</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

当我配置会话时,我这样做:

_configuration.AddAssembly(typeof(mm.k.Domain.Kampagne).Assembly);
Run Code Online (Sandbox Code Playgroud)

那就是什么都行不通!致电时:

var test = session.Get<Kampagne>(kampagneId);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:"没有持久性:mm.k.Domain.Kampagne"就像它没有注册嵌入式映射fild.请注意,我对映射文件的构建操作设置为Embedded Resource.

如果我将以上行更改为:

_configuration.AddFile(@"fullpath\mm.k.Infrastructure\Mappings\Kampagne.hbm.xml");
Run Code Online (Sandbox Code Playgroud)

一切都很好!

有任何想法吗?提前致谢.

nhibernate nhibernate-mapping

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