我在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
- ...
另一个问题:
查询如何为所有客户获取所有组?父母和子女团体.
使用OwnsOne映射复杂类型时,sql列名称以属性名称为前缀。是否可以在映射中指定前缀名称?
这是我的映射:
e.OwnsOne(x => x.Attributes, cb =>
{
cb.OwnsOne(a => a.Supplier);
});
Run Code Online (Sandbox Code Playgroud)
我希望sql列以“ Attr_”而不是“ Attributes_”作为前缀。这可能吗?
是否可以让下拉上下文菜单适用于整个表格行?我们可以使用单元格渲染方法渲染下拉菜单,但由于单元格填充,它不会覆盖整个表格单元格。因此用户必须精确地单击显示的文本,而不是整个单元格。
我正在研究如何使用pdfjs查看器来提供受保护资源背后的PDF.
根据我的理解,如果资源允许匿名访问,这将有效:
https://app.com/pdf.js/web/viewer.html?file=https://app.com/pdf/{id}
资源https://app.com/pdf/{id}返回内容类型的响应application/pdf.
但是,该资源要求OAuth2令牌出现在授权标头中.那么是否可以修改查看器创建的标头,包括授权标头并传递用户的标记?
使用ASP.NET MVC,我实现了一个自动完成文本框,使用的方法非常类似于Ben Scheirman的实现,如下所示:http://flux88.com/blog/jquery-auto-complete-text-box-with- ASP净MVC /
我无法弄清楚的是,为自动填充文本框缓存数据是否是一个好主意,因此每次击键时都不会有数据库往返?
如果首选缓存,您是否可以指导我如何为此目的实现缓存?
我正在努力设计这个系统,其中地址是最重要的信息.现在在这种情况下,地址不仅仅是几行字符串.我们将市政当局(代码,姓名),地区(邮政编码,姓名),街道(代码,姓名),门牌号码存放在属于市政的特定区域的街道上.这是一个非常规范化的计划.
因此,我们将实体Municipal,District,Street和HouseNumber各自相互关联,为一个人(或其他人)定义一个完整的地址.
现在我一直在试图找出一个名为Address的聚合根是否有意义?然后,地址实体(聚合根)将引用HouseNumber,Street,District和Municipal.然后一个人将与一个地址相关联.
严格来说,这个聚合根不是必需的,但是如果我没有它,我将不得不遍历许多对象以获得完整的地址.根据该参数创建聚合根是否有意义?
在这种情况下,一个人永远不会引用除聚合根之外的任何东西,但UI可能只显示市政当局(浏览地址时等).这是违反总体根本想法的吗?
我真的很喜欢你的建议并接受这个问题.任何帮助都感激不尽!
关于我的问题的另一个讨论的一点点更新:
需要在聚合中管理一些不变量.例如; 我不能在一个区/市的街道上有一个门牌号,邮政箱位于另一个不同的区/市.因此,在为地址/人员分配邮箱时,我需要确保他们在同一地区.
还有一些一致性边界(如果我理解这个概念的正确方法).如果我有地址,则必须在街道上的一个区(在该区)中有一个门牌号码.街道可以跨越多个区域,因此确保该街道上的门牌号位于正确的区域非常重要.
有关设计聚合的更新:
门牌号实际上是地址的入口点.门牌号码与街道和地区相关联.所以一个人与门牌号码相关联.我还想要定义的是,如果一个人对该门牌号码有"邮政责任".引入聚合根地址,使该人与该关联而不是门牌号.在数据库中,聚合地址将包含与门牌号的1-1关联,并且地址对人员具有1-*.我应该在哪里存储表明该人有邮政责任的价值?我应该在地址汇总中这样做吗?或者你会把它放在哪里?我的实体也是如此 - 我应该在哪里指出该人是否有邮政责任?
我们正在考虑使用WIF来验证我们的用户,因此我开始收集一些有关如何以正确方式执行此操作的信息.主要是我们应该如何创建STS.我很难找到有关我们场景的一些信息,我们有一个"主要"服务,将由内部和外部客户使用.
内部客户端将使用TCP连接到服务.我们的员工使用的桌面客户端应使用其域凭据(Active Directory)对服务进行身份验证.除此之外,我们还有少量使用该服务进行数据处理的应用程序.我们想向这些应用程序颁发证书.然后,他们将使用该证书通过STS进行身份验证,并返回包含该应用程序声明的令牌.那可能吗?
外部客户端将通过HTTP连接,使用用户名/密码(Web客户端)进行身份验证,或者通过上面提到的证书进行身份验证.
这是一个有效的场景吗?你会如何在WIF中实现这一点?你能指点一些你认为有帮助的文章吗?我可以通过单个STS(WCF)解决这个问题,还是需要多个STS?单个STS可以处理多种凭证(AD /用户名/证书)吗?
先感谢您.任何帮助都感激不尽.
在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下的所有按钮定义样式?
谢谢!
我正在努力让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)
一切都很好!
有任何想法吗?提前致谢.
aggregate ×1
antd ×1
asp.net-mvc ×1
autocomplete ×1
c# ×1
caching ×1
ef-core-2.0 ×1
javascript ×1
nhibernate ×1
oop ×1
pdfjs ×1
sql ×1
styles ×1
tree ×1
wcf ×1
wif ×1
wpf ×1
xaml ×1