有人有运气吗?
如果我理解正确,请告诉我,如果我有一个简单的模型,请说:
public string Name { get; set; }
public string Details { get; set; }
public DateTime? Created { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后我执行:
var myModel = getCurrentModelFromDb(id);
UpdateModel(myModel, "ModelName", new string { "Name", "Details" });
Run Code Online (Sandbox Code Playgroud)
这应该只更新名称和详细信息属性吗?因为假设在'created'中已经有来自db的日期,当我执行上述操作时,它似乎将我创建的日期设置为原始的01-01-0001.
此外,当我尝试使用以下方法明确排除此字段时:
UpdateModel(myModel, "ModelName",
new string { "Name", "Details" }, new string { "Created" });
Run Code Online (Sandbox Code Playgroud)
它仍被设置为01-01-0001.这是一个错误,还是一个我做错的奇怪事情?
我真正想要做的是,更新我的模型属性,其中有相应的表单字段,但保留其余的单独的数据,这些属性是从db fetch单独设置的,而不是将它们设置为null或default,这就是它当前的内容似乎在做.
我会说,也许上面和我的真实场景之间的唯一区别是我在列表上使用updateModel,所以我实际上得到了listFromDb(parentId),然后在那个选择上应用updateModel(myList,"ListPrefix")通过[0],[1]等来计算每个项目...它的工作原理,因为所有名称都在更新,但其他一切都没有.
更新:我刚刚意识到'includeProperties'可能是要定义您希望从表单中包含哪些属性,类似于绑定的工作方式.如果*是*的情况,那么我怎么能告诉它只更新某些模型属性呢?
我有一个工作NotifyIcon和ContextMenuStrip,我不想用默认的菜单的外观和使用感觉被运出与此控制这是不同的Windows(Vista的在我的情况)箱子contextMenu.RenderMode = ToolStripRenderMode.ManagerRenderMode或contextMenu.RenderMode = ToolStripRenderMode.Professional:

我不希望这个使用contextMenu.RenderMode = ToolStripRenderMode.System:

我只是想使用标准的,正常的Windows"外观和感觉",如无数,可能是非网络应用程序*grumble*:

任何想法的人如何实现这一目标?
游戏开发者在使用MonoTouch框架方面有哪些选择?
谢谢大家.
我是Mocking的新手,对单元测试有些熟悉,最后决定用一个严格的TDD方法开始一个新项目.但是,我有一个服务类和方法,我需要回顾性地添加测试,因为它已从原型升级.
我不知道在这个特定的测试中从哪里开始,这是涉及的类和方法:
public class PageService : IPageService
{
private readonly ITestService testServiceClient;
public PageService(ITestService testServiceClient)
{
this.testServiceClient = testServiceClient;
}
public Page GetPage(Guid websiteId, string pageKey)
{
Page builtPage = null;
// WCF SERVICE CALL I DO NOT WANT EXECUTING WHEN RUNNING UNIT TEST
// BUT RATHER WANT A BLANK NEW INSTANCE OF "PAGE" CREATED USING MOQ??
var page = testServiceClient.GetPage(websiteId, pageKey);
if (page == null)
return null;
builtPage = new Page();
[code here to build builtPage if input params …Run Code Online (Sandbox Code Playgroud) 我能想到的最有效和最典型的解决方案是:
var dates = new DateTime[7];
for (int i = 0; i < 7; i++)
dates[i] = DateTime.Now.AddDays(i);
Run Code Online (Sandbox Code Playgroud)
这将在数组中返回七(7)个日期,这是我想要的结果.我认为红宝石可以做这样的事情,只需指定点,但我不记得了.
但是,有更有效的方法吗?或者有没有办法用linq实现这个(可能通过Aggregate方法?),如果有的话,即使它不是最有效的解决方案,我也会很好奇.
理想情况下,它不需要您为所需的"时间"量重新声明任何对象实例,并允许您只指定DateTime.Now一次,并且只需要一次指定数组/列表中的项目数.
谢谢
我似乎无法在Stack Overflow上找到类似的主题,所以这里是:
为什么在我对ASP.NET MVC视图模型类指定以下定义时:
[Required]
[RegularExpression(@"\A\d{3,4}\Z",
ErrorMessage = "The security code (CVN) must be between 3 - 4 digits long.")]
[Display(Name = "Card Security Code (CVN)")]
public string CardCVN { get; set; }
Run Code Online (Sandbox Code Playgroud)
在我不引人注意的客户端验证测试中,正则表达式无法验证?(并随后显示表单字段错误).
一旦我的正则表达式改为[RegularExpression(@"\d{3,4}"...删除整个字符串匹配技术,它似乎完美匹配?并且似乎呈现的jquery验证,即使它不适用\A或者\Z它只匹配整个字符串匹配(做我最初需要的!); 我错过了什么吗?
谢谢.
regex asp.net-mvc jquery-validate unobtrusive-validation asp.net-mvc-3
任何想法在EF DbContext查询中可能出现什么问题?据我了解,这应该按照SO的同伴来进行。
我试过列表,空值检查,不是空值检查,但没有用。但是,如果我删除了null检查并仅保留,则查询确实起作用Contains()。但是,如果testID为null,则必须返回所有记录。
var testIDs = new int[] { 1, 3 };
var test = session.All<VendorBooking>(x => testIDs == null || testIDs.Contains(x.VendorServiceID)).ToList();
Run Code Online (Sandbox Code Playgroud)
(session.All只是利用context.Set<T>.Where())
引发异常:EntityFramework.SqlServer.dll中的“ System.NotSupportedException”
附加信息:无法比较'System.Int32 []'类型的元素。仅支持原始类型,枚举类型和实体类型。
非常感谢
我刚刚研究了ActiveRecord模式,基于此(http://en.wikipedia.org/wiki/Active_record_pattern),似乎Linq 2 Sql或多或少实现了这个,我错了吗?或者需要更改什么以使其符合ActiveRecord模式?
在了解了monotouch如何工作的更多信息后,我相信无论如何我都知道这个问题的答案,但是你可以将cocos2d-iphone框架与monotouch一起使用吗?我相信这很可能是一个'不',因为cocos2d是一个客观的c库,并且很可能必须有某种.net端口才能实现这个目标?是这样吗?
我还没有做任何monotouch开发,但是用cocos2d进行了一些客观的开发,并且我非常喜欢这个框架,并希望避免,因为我对游戏开发很陌生,直接陷入黑暗的直线领域通过monotouch支持的openTK接口进行opengl编程.
如何使用Enum指定的条目预设Windsor配置文件参数,例如下面的"EntryType"?
我目前有这个:
<component
id="test.service" service=".." type=".." lifestyle="transient">
<parameters>
<entryType>EntryType.Test</entryType>
</parameters>
</component>
Run Code Online (Sandbox Code Playgroud)
其中..显然代表了完整的命名空间和装配.
但收到此错误:
Could not convert from 'EntryType.Test' to
Business.Common.Services.Core.TestService+EntryType.
Run Code Online (Sandbox Code Playgroud) .net ×6
c# ×3
asp.net-mvc ×2
iphone ×2
xamarin.ios ×2
activerecord ×1
asp.net ×1
lambda ×1
linq-to-sql ×1
mocking ×1
moq ×1
opengl-es ×1
optimization ×1
performance ×1
regex ×1
unit-testing ×1
updatemodel ×1
winforms ×1