在C#中,ToUpper()
和之间有什么区别ToUpperInvariant()
?
你能举例说明结果可能有所不同吗?
我即将开始实现一个项目的数据访问基础设施,该项目采用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 不包括:
根据我的理解,由于我将使用Database First,因此未包含的功能数量较少.
总之,我的问题是:
我可以用EF4.1 DbContext Generator 替换POCO实体生成器吗?
我研究了一些关于我可以用来对DbContext进行单元测试的技术的信息.我想在上下文中添加一些内存数据,以便我的测试可以针对它运行.我正在使用Database-First方法.
我发现最有用的两篇文章是这个和这个.该方法依赖于创建一个MyContext和FakeContext都将实现的IContext接口,允许模拟上下文.
但是,正如某些人所指出 的 那样,我试图避免使用存储库来抽象EF,因为EF 4.1已经通过DbSet和DbContext实现了存储库和工作单元模式,我真的想保留EF实现的所有功能.团队无需使用通用存储库维护它们,正如我在其他项目中所做的那样(这有点痛苦).
使用IContext会引导我走同一条路(或者不是吗?).
我考虑创建一个继承自主MyContext的FakeContext,从而利用它下面的DbContext来运行我的测试,而不需要访问数据库.我找不到类似的实现,所以我希望有人可以帮助我.
我做错了什么,或者这会导致我遇到一些我没想到的问题?
我需要一个类似按钮的控件,它可以有一个Checked属性,这样当点击时它会保持按下状态.
我在WinForms中有这个功能,使用CheckBox控件,将Appearance属性设置为"Button".
有人能帮我吗?
我的WPF应用程序当前只显示带有一些控件的屏幕,它不连接到DB或具有任何其他功能.这是一个简单的UI屏幕.
当我在某些计算机(WinXP SP2)中进行测试时,我发现启动时间超过15秒.他们都在我们的领域.
我已经抓住了一台类似的计算机,只安装了Windows,应用程序需要2秒才能启动.
然后我将计算机添加到我们的域中,并使用域用户进行测试表明它还需要15秒才能启动.我再次使用之前的用户(本地用户)进行测试,但仍然很快.我创建了另一个本地用户,但域用户也需要15秒.我添加了其他本地用户,但他们也很慢.
总结一下:应用程序只在一个用户中快速启动(2秒),这是我测试的第一个用户.所有其他用户(域或本地)都很慢(15秒).
我一直在检查改进WPF应用程序的启动时间,但我的问题似乎需要一种不同的方法.有没有人弄清楚会发生什么?
实体框架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对象的设计要求?
我有一个如下定义的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'
有没有人知道任何类似于Smart Paster的免费加载项,但对于Visual Studio 2010?
不幸的是,Smart Paster仅适用于VS2005和VS2008.
对于那些不知道我在说什么的人,请查看.
我正在尝试使用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
我对么?
我试图在我的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 ×3
c# ×2
add-in ×1
alignment ×1
checkbox ×1
javascript ×1
knockout.js ×1
poco ×1
squishit ×1
tabcontrol ×1
unit-testing ×1
windows-xp ×1
wpf-controls ×1