小编Jos*_*ose的帖子

MongoDB多对多关联

你会如何与MongoDB进行多对多的关联?

例如; 假设您有一个Users表和一个Roles表.用户有很多角色,角色有很多用户.在SQL中,您将创建一个UserRoles表.

Users:
    Id
    Name

Roles:
    Id
    Name

UserRoles:
    UserId
    RoleId
Run Code Online (Sandbox Code Playgroud)

MongoDB中如何处理相同类型的关系?

many-to-many associations mongodb

128
推荐指数
4
解决办法
6万
查看次数

SQL连接表命名约定

我有2个表:用户和角色,我有一个表将这些表连接在一起.连接表中唯一的东西是链接2个表的ID.

我该怎么称呼这张桌子?我从来没有真正看到过这个很好的命名惯例.

我以前见过的约定:

  • UsersToRolesJoin
  • UsersToRolesLink
  • UsersToRolesMembership
  • UsersRoles

例如:

Users:  
Id  
Name

Roles:  
Id  
Name  

TableThatJoinsTheTwo:  
Id  
UserId  
RoleId  
Run Code Online (Sandbox Code Playgroud)

sql sql-server naming-conventions

61
推荐指数
7
解决办法
3万
查看次数

TextBox绑定TwoWay不会更新,直到焦点丢失WP7

我有一个页面,其中包含一些用于数据输入的文本框.文本框的绑定设置为TwoWay.如果文本框失去焦点,则视图模型中的数据仅会更新.如果单击某个按钮(例如"保存"),并且文本框仍具有焦点,则在保存事件的视图模型中不会更改文本框中的更改.

有没有办法让绑定在失去焦点之前保存文本框的值?或者我是否需要在保存事件中执行某些操作?

data-binding silverlight xaml windows-phone-7

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

在WP7中将List <T>转换为ObservableCollection <T>

我不知道是否为时已晚或是什么,但我不知道如何做到这一点......

我期待做什么,以及对象浏览器所说的内容是:

var oc = new ObservableCollection<T>( new List<T>() );
Run Code Online (Sandbox Code Playgroud)

但是ObservableCollection<T>有一个无参数的构造函数.对象浏览器说有2个重载,其中List和IEnuerable应该能够传入.

我的设置有问题吗?构造函数不在手机版本上吗?(那会很奇怪)

如果这确实不存在,那么现在使用WP7的标准方法是什么?

.net c# collections windows-phone-7

41
推荐指数
7
解决办法
9万
查看次数

使用Fluent NHibernate和NHibernate 3将Enum作为Int映射

我用过这个如何使用流畅的NHibernate将枚举映射为int值?在过去映射,但我最近升级到NHibernate 3,这似乎不再起作用了.我在我的EnumConvention课程中放了断点,但它们没有被击中.命中数据库的查询将枚举作为字符串,这是默认配置.

这如何与NHibernate 3一起使用?

更新

以下是生成的映射文件的一部分:

<property name="ComponentType" type="FluentNHibernate.Mapping.GenericEnumMapper`1[[...ComponentType, ..., Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], FluentNHibernate, Version=1.1.0.0, Culture=neutral, PublicKeyToken=8aa435e3cb308880">
  <column name="ComponentTypeId" />
</property>
Run Code Online (Sandbox Code Playgroud)

如果为枚举指定了GenericEnumMapper何时使用它似乎是正确的IUserTypeConvention.

这是我的惯例:

public class EnumConvention : IUserTypeConvention
{
    public void Accept( IAcceptanceCriteria<IPropertyInspector> criteria )
    {
        criteria.Expect( e => e.Property.PropertyType.IsEnum );
    }

    public void Apply( IPropertyInstance instance )
    {
        instance.CustomType( instance.Property.PropertyType );
    }
}
Run Code Online (Sandbox Code Playgroud)

nhibernate nhibernate-mapping fluent-nhibernate

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

如何让AutoMapper不缓存映射对象?

当AutoMapper遇到已经映射的对象时,它似乎再次使用该对象,而不是尝试重新映射它.我相信它是基于这样做的.Equals().

我有一棵正在映射的树.所以,一个具有一些属性的节点和子节点.不止一个节点具有相同的值.Equals(),因为它基于Id属性.节点的子节点是不同的,我需要重新映射,但它使用缓存的映射值.

有没有办法关闭缓存的映射?我能想到的只是实现一个新的转换器,但这完全违背了使用AutoMapper的目的.

这是一个如何重现的例子.

void Main()
{
    var source = new List<Tag>
    {
        new Tag 
        { 
            Id = 1, 
            Name = "Tag 1", 
            ChildTags = new List<Tag>
            {
                new Tag 
                { 
                    Id = 2, 
                    Name = "Tag 2", 
                    ChildTags = new List<Tag> 
                    {
                        new Tag {Id = 3, Name = "Tag 3"},
                        new Tag {Id = 4, Name = "Tag 4"}
                    }
                }
            }
        },
        new Tag { Id = 1, Name = "Tag 1" }, …
Run Code Online (Sandbox Code Playgroud)

.net c# automapper

23
推荐指数
2
解决办法
6168
查看次数

业务逻辑类命名

我有一个业务层,有一些业务对象/ POCO /实体/任何.我还有一些数据访问存储库.到目前为止,我一直在从UI层访问存储库.我实际上需要一些不是直接CRUD的类,因此我将创建一些将执行逻辑的业务逻辑类,并且CRUD和存储库将不会被访问用户界面(可能从一开始就应该完成).

我该怎么称呼这些课程?我唯一能想到的是服务类,但我在这个应用程序中有实际的WCF服务,所以这会让它变得混乱.WCF服务也将使用这些类,因此让服务使用服务类似乎很奇怪而且令人困惑.

c# business-logic-layer business-logic business-objects

17
推荐指数
2
解决办法
7991
查看次数

流畅的NHibernate列映射与保留字

我已经读过,使用后退勾号应该允许使用保留字.我正在使用SQL Server和Fluent NHibernate,并且列名为"File".如果我用它来映射

"`File" 
Run Code Online (Sandbox Code Playgroud)

它尝试使用

[Fil]
Run Code Online (Sandbox Code Playgroud)

所以它正确添加括号,但从末尾删除"e".如果我将其映射为

"`Filee"
Run Code Online (Sandbox Code Playgroud)

它用

[File]
Run Code Online (Sandbox Code Playgroud)

正确.

我做错了什么或者这是NHibernate或Fluent Nhibernate中的错误?

nhibernate fluent-nhibernate

15
推荐指数
3
解决办法
4362
查看次数

VS2008 Web部署项目部分替换为Elmah

我正在使用Web部署项目,并希望使用emlah/errorMail部分替换部分.我不想在调试构建模式下发送电子邮件.

我创建了自定义部分并将其放在errorMail.config中.在替换下的Web部署项目的属性中,我有elmah/errorMail = errorMail.config.

我得到的错误是为elmah/errorMail创建配置节处理程序时出错:无法加载文件或程序集'Elmah'或其依赖项之一.该系统找不到指定的文件.

我猜这种情况正在发生,因为Elmah不在GAC中,或者它不是我的项目之一.Elmah.dll文件确实复制到output\bin文件夹就好了.

有没有办法让部分替换与第三方dll一起使用?

[编辑]

我发现,如果我将有问题的dll放入Web部署项目的项目文件夹中,它将正常工作.这不是最佳的.

所以现在我的问题是,如何在不必将dll放入GAC或将dll复制到Web部署项目文件夹中的情况下使用它?

asp.net web-deployment-project elmah visual-studio-2008

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

Visual Studio 2008菜单项重复

我偶尔会遇到一些导致我运行的Visual Studio和ReSharper问题

devenv.exe /ResetSettings
Run Code Online (Sandbox Code Playgroud)

执行此操作后,"数据"下的菜单项都是重复的,每个部分都是重复的.所以它现在看起来像这样:

Show Data Sources
Add New Data Source...
-------------------------
Schema Compare
Schema Compare
Data Compare
Data Compare
-------------------------
Schema Compare
Schema Compare
Data Compare
Data Compare
-------------------------
Refactor
Refactor
-------------------------
Refactor
Refactor
-------------------------
T-SQL Editor
T-SQL Editor
-------------------------
T-SQL Editor
T-SQL Editor
-------------------------
Static Code Analysis
-------------------------
Schema View

我安装了MS Visual Studio Team System 2008数据库版GDR 2,我认为这就是造成这个问题的原因.

有没有办法删除重复的项目,或者更好的是,阻止这种情况发生?

visual-studio-2008 visual-studio

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