小编Nel*_*eis的帖子

在C#中,ToUpper()和ToUpperInvariant()之间有什么区别?

在C#中,ToUpper()和之间有什么区别ToUpperInvariant()

你能举例说明结果可能有所不同吗?

c# internationalization

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

ADO.NET DbContext Generator与ADO.NET Poco实体生成器(ObjectContext)

我即将开始实现一个项目的数据访问基础设施,该项目采用DDD方法构建(这是我第一次尝试DDD,所以要温和;-)).

我将使用Entity Framework.到目前为止,我正在研究朱莉·勒曼(Julie Lerman)在她的伟大着作" 编程实体框架 "(Programming Entity Framework)中使用的方法,其中使用了ADO.NET POCO实体生成器,对T4模板和一些更多自定义代码进行了一些更改.
今天我开始使用Database First方法阅读有关EF4.1和ADO.NET DbContext Generator的文章,我正在尝试决定应该选择哪一个.

DbContext和EF4.1的DDD方法似乎比POCO实体更好,更清晰,但我担心它会在不久的将来导致一些问题,因为EF4.1仍然在RC中.

ADO.NET团队博客,我知道EF4.1 包括:

  • 枚举支持
  • 空间数据类型支持
  • Code First中的存储过程支持
  • Code First中的迁移支持
  • Code First中的可定制约定

根据我的理解,由于我将使用Database First,因此未包含的功能数量较少.

总之,我的问题是:
我可以用EF4.1 DbContext Generator 替换POCO实体生成器吗?

entity-framework entity-framework-4 entity-framework-4.1

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

单元测试DbContext

我研究了一些关于我可以用来对DbContext进行单元测试的技术的信息.我想在上下文中添加一些内存数据,以便我的测试可以针对它运行.我正在使用Database-First方法.

我发现最有用的两篇文章是这个这个.该方法依赖于创建一个MyContext和FakeContext都将实现的IContext接口,允许模拟上下文.

但是,正如某些人所指出 那样,我试图避免使用存储库来抽象EF,因为EF 4.1已经通过DbSet和DbContext实现了存储库和工作单元模式,我真的想保留EF实现的所有功能.团队无需使用通用存储库维护它们,正如我在其他项目中所做的那样(这有点痛苦).

使用IContext会引导我走同一条路(或者不是吗?).

我考虑创建一个继承自主MyContext的FakeContext,从而利用它下面的DbContext来运行我的测试,而不需要访问数据库.我找不到类似的实现,所以我希望有人可以帮助我.

我做错了什么,或者这会导致我遇到一些我没想到的问题?

unit-testing entity-framework-4.1

50
推荐指数
4
解决办法
3万
查看次数

WPF CheckBox带有"Button"外观

我需要一个类似按钮的控件,它可以有一个Checked属性,这样当点击时它会保持按下状态.

我在WinForms中有这个功能,使用CheckBox控件,将Appearance属性设置为"Button".

有人能帮我吗?

wpf checkbox wpf-controls

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

WPF应用程序启动时速度慢

我的WPF应用程序当前只显示带有一些控件的屏幕,它不连接到DB或具有任何其他功能.这是一个简单的UI屏幕.

当我在某些计算机(WinXP SP2)中进行测试时,我发现启动时间超过15秒.他们都在我们的领域.

我已经抓住了一台类似的计算机,只安装了Windows,应用程序需要2秒才能启动.

然后我将计算机添加到我们的域中,并使用域用户进行测试表明它还需要15秒才能启动.我再次使用之前的用户(本地用户)进行测试,但仍然很快.我创建了另一个本地用户,但域用户也需要15秒.我添加了其他本地用户,但他们也很慢.

总结一下:应用程序只在一个用户中快速启动(2秒),这是我测试的第一个用户.所有其他用户(域或本地)都很慢(15秒).

我一直在检查改进WPF应用程序的启动时间,但我的问题似乎需要一种不同的方法.有没有人弄清楚会发生什么?

wpf windows-xp

20
推荐指数
2
解决办法
7680
查看次数

为什么EF 4中的Persistence Ignorant POCO需要"Fixup"?

实体框架4备受期待的功能之一是能够以持久性无知方式使用POCO(普通旧CLR对象)(即他们不"知道"它们与实体框架相对于其他机制持久化).

我试图解决为什么必须执行关联修正并在我的"普通"业务对象中使用FixupCollection.这个要求似乎意味着业务对象毕竟不能完全忽略持久性机制(事实上,"fixup"这个词听起来像需要修复/改变以适应所选择的持久性机制).

具体来说,我指的是由ADO.NET POCO实体生成器生成的Association Fixup区域,例如:

    #region Association Fixup

    private void FixupImportFile(ImportFile previousValue)
    {
        if (previousValue != null && previousValue.Participants.Contains(this))
        {
            previousValue.Participants.Remove(this);
        }

        if (ImportFile != null)
        {
            if (!ImportFile.Participants.Contains(this))
            {
                ImportFile.Participants.Add(this);
            }
            if (ImportFileId != ImportFile.Id)
            {
                ImportFileId = ImportFile.Id;
            }
        }
    }

    #endregion
Run Code Online (Sandbox Code Playgroud)

以及FixupCollection的使用.其他常见的持久性无知ORM没有类似的限制.

这是由于EF的基本设计决定吗?即使在EF的后期版本中,是否存在某种程度的非无知?是否有一种聪明的方法可以隐藏POCO开发人员的持久性依赖性?

这在实践中如何实现,端到端?例如,我理解最近才为ObservableCollection添加了支持(Silverlight和WPF需要它).其他软件层是否存在EF兼容POCO对象的设计要求?

c# poco entity-framework-4

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

在Knockout视图模型定义之外设置属性值

我有一个如下定义的Knockout视图模型:

function viewModel () {
    var self = this;

    self.myName = ko.observable();
    self.myValue = ko.observable("10");
};
Run Code Online (Sandbox Code Playgroud)

现在我需要在单击链接时更改视图模型的值,如下所示:

$('a.treeitem').live("click", function (e) {
    e.preventDefault();
    viewModel.myValue("20"); // this line does not work
});
Run Code Online (Sandbox Code Playgroud)

但是,我无法找到设置值的正确方法,Chrome控制台显示以下消息: 未捕获TypeError:对象函数viewModel(){...}没有方法'myValue'

javascript knockout.js

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

适用于Visual Studio 2010的Smart Paster加载项

有没有人知道任何类似于Smart Paster的免费加载项,但对于Visual Studio 2010?
不幸的是,Smart Paster仅适用于VS2005和VS2008.

对于那些不知道我在说什么的人,请查看.

add-in visual-studio-2010 visual-studio

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

在ASP.NET MVC 3中使用SquishIt

我正在尝试使用SquishIt来缩小ASP.NET MVC 3项目中的CSS和Javascripts.

当我使用Render方法时:

.Render("~/content/themes/base/combined_#.css");
Run Code Online (Sandbox Code Playgroud)

用随机数而不是#生成css,但是没有生成到css文件的链接,我需要手动将其插入到cshtml文件中:

<link href="~/content/themes/base/combined_#.css" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

但我不知道这个随机数,添加到文件名.

没有#它工作正常.

但我觉得Render应该根据这篇文章自动生成css链接:

http://www.codethinked.com/squishit-the-friendly-aspnet-javascript-and-css-squisher

我对么?

squishit asp.net-mvc-3

10
推荐指数
2
解决办法
7411
查看次数

WPF TabItem内容对齐始终居中

我试图在我的TabItem中放入一些内容,但是我无法添加填充TabItem空间的容器.我添加的任何东西都显示在中心位置.

我正在使用来自WPF工具包(WhistlerBlue.xaml)的主题,所以我想也许是因为什么导致了我这个问题.

我无法删除主题,因为我需要它.最多我可以改变它的内容,但我是WPF的新手,并且不知道我应该改变什么.

我的TabControl看起来像这样:

<TabControl Margin="0,71.25,0,206.25" Name="tabControl1" TabStripPlacement="Left">
    <TabItem Name="tabItem1" FlowDirection="LeftToRight" FontSize="22" Height="200" Width="60" >
        <TabItem.Header>
            <StackPanel Orientation="Horizontal" >
                <Image Height="40" Width="40" Margin="20,0,0,0" VerticalAlignment="Center"></Image>
                <TextBlock Margin="15,0,25,0" VerticalAlignment="Center" FontWeight="Bold">
                    Header
                </TextBlock>
            </StackPanel>
        </TabItem.Header>
        <TabItem.Content>
            <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0" >
                <TextBlock>Test</TextBlock>
            </StackPanel>
        </TabItem.Content>
    </TabItem>
</TabControl>
Run Code Online (Sandbox Code Playgroud)

有类似的问题,但它没有答案:在WPF中,如何获取tabItem的内容以填充可用空间?

有人能帮我吗?谢谢.

wpf tabcontrol alignment

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