小编Sam*_*ach的帖子

实体框架.Remove()与.DeleteObject()

您可以使用以下两种方法从EF中删除数据库中的项目.

第一个是EntityCollection第二个,第二个是ObjectContext.

什么时候应该使用?

一个优先于另一个吗?

Remove()返回a boolDeleteObject()返回void.

c# database orm entity-framework

138
推荐指数
2
解决办法
13万
查看次数

Moq假一种方法但使用另一种方法的真实实现

给定一个IService具有Method1()和的接口Method2().

我想测试当Method1()抛出一个Exception,Method2()被调用并返回一个给定的值.

(投掷Method2()时被称为Method1()).

因此我需要Method2()用假的测试真实Method1(),它们是相同界面的方法.

这是我的测试代码:

MBase sut.MethodX()是唯一的切入点.它使用IService.

我的目标是断言Method2()返回一些东西.

// Arrange
// Fake bytes in.
var networkStreamMock = new Mock<INetworkStream>();
networkStreamMock.Method1(x => x.Read(It.IsAny<byte[]>(), It.IsAny<int>(), It.IsAny<int>())).Returns(It.IsAny<byte[]>());

// Force throw TimeoutException.
var mock = new Mock<IService>();
mock.Setup(x => x.Method1(new Message
{ 
    Xml = Xml,  
}
)).Throws<TimeoutException>();

// Check Method 2 is called. (this is …
Run Code Online (Sandbox Code Playgroud)

.net c# nunit unit-testing moq

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

Microsoft Visual Studio 2012无法在c#文件中设置断点

我安装了Microsoft Visual Studio Professional 2012,版本11.0.60610.01更新3.

调试ac#(.cs)文件时,当我尝试设置断点时,Visual Studio会给出以下消息:

"无法在此位置插入断点".

即使尝试在方法中的某一行上设置它,我也会收到此消息.但是在Visual Basic应用程序的.vb文件中,我可以设置断点.

我想知道是否有人有任何建议来解决这个问题,或者我是否需要重新安装visual studio.

谢谢

c# debugging visual-studio-2012

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

LINQ顺序按字母顺序后跟空字符串

我有一个字符串集合:

"", "c", "a", "b".
Run Code Online (Sandbox Code Playgroud)

我想使用LINQs orderby,以便顺序是按字母顺序排列的,但最后是空字符串.所以在上面的例子中,顺序是:

"a", "b", "c", ""
Run Code Online (Sandbox Code Playgroud)

c# linq

15
推荐指数
2
解决办法
5997
查看次数

如果返回,"无法确定,因为没有隐含的转换"

如果返回,我有以下ASP.NET Web Api 2动作和三元组:

[HttpDelete]
public IHttpActionResult Delete()
{
    bool deleted;

    // ...

    return deleted ? this.Ok() : this.NotFound();
}
Run Code Online (Sandbox Code Playgroud)

我收到了

无法确定条件表达式的类型,因为'System.Web.Http.Results.OkResult'和'System.Web.Http.Results.NotFoundResult'之间没有隐式转换

什么时候他们都实施IHttpActionResult.

但是,如果我删除了三元组,编译器很高兴:

if (deleted)
{
    return this.Ok();
}
return this.NotFound();
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

.net c# polymorphism conditional-operator asp.net-web-api2

15
推荐指数
2
解决办法
2786
查看次数

了解Flyweight模式

意图:

这种模式的目的是使用共享来支持大量具有部分内部状态的对象,其中状态的其他部分可以变化.

对象可以通过静态字段共享状态.

使用flyweight模式和使用静态字段共享大量对象的内部状态有什么区别?

flyweight通过其Factory提供的对象池是flyweight真正的全部内容吗?

c# design-patterns flyweight-pattern

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

Json.NET MissingMemberHandling设置

当字符串缺少C#类所需的属性时,我想Json.NET抛出一个.JsonSerializationExceptionJson

MissingMemberHandling Enumeration哪些

在反序列化期间遇到缺少的成员时抛出JsonSerializationException.

但我认为这与我想要的相反.我认为这意味着c#类中缺少一个成员.我想要一个失踪的Json成员.

我的代码是

public MyObj Deserialise(string json)
{
    var jsonSettings = new JsonSerializerSettings();
    jsonSettings.MissingMemberHandling = MissingMemberHandling.Error;

    return JsonConvert.DeserializeObject<ApiMessage>(json, jsonSettings);
}
Run Code Online (Sandbox Code Playgroud)

例如

public class MyObj
{
    public string P1 { get; set; }
    public string P2 { get; set; }
}

string json = @"{ ""P1"": ""foo"" }";
Run Code Online (Sandbox Code Playgroud)

json缺少P2.我想知道这是什么情况.

谢谢.

c# serialization json json.net deserialization

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

为什么返回函数被称为return?

为什么返回函数被称为return?

描述是:

将值注入monadic类型.

这个名字不仅没有意义(对我来说),对于来自命令式语言的人来说,这是一个令人困惑的地方,这return是一个从函数返回的语言关键字.

io haskell return function

11
推荐指数
2
解决办法
563
查看次数

网站:MSB3270:处理器架构之间存在不匹配

我有一个Web窗体网站项目.该网站引用了4个类库项目.其中3个类库引用了第三方程序集.我为每个3类库项目收到以下编译器错误.

ASPNETCOMPILER:错误ASPCONFIG:无法加载文件或程序集"myAssembly"或其依赖项之一.尝试加载格式不正确的程序.[项目.metaproj]

我已经在类库项目上尝试了所有可能的AnyCPU/x86/x64组合.我无法在网站项目中更改此设置.我有第三方dll的x86和x64版本.试过两个.

"ClassLibrary.csproj"(默认目标)(4) - >(ResolveAssemblyReferences目标) - > C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1561,5):警告MSB3270:有正在构建"MSIL"的项目的处理器体系结构与参考"ThirdPartyDll,Version = xxx,Culture = neutral,processorArchitectu re = x86","x86"的处理器体系结构之间存在不匹配.这种不匹配可能会导致运行时故障.请考虑通过Configurati on Manager更改项目的目标处理器体系结构,以便在项目和引用之间调整处理器体系结构,或者依赖于与项目的目标处理器体系结构相匹配的处理器体系结构的引用.[ClassLibrary.cspro j]

下面说明了解决方案配置.注意我不能在这里更改"AnyCPU",只能从每个单独的类库项目中更改.

解决方案配置

所有.NET 4

无法将网站转换为Web应用程序.

谢谢,

.net c# asp.net msbuild visual-studio-2010

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

Google Play中的新应用程序,名称相同但包名称不同

我想上传另一个与我已经拥有的应用程序标题相同的apk(已取消发布).我收到:

您需要为您的应用选择不同的标题.这个已经是com.foo.bar的标题.

只要包名不同,我想我就可以上传新的apk.有没有办法做到这一点?或者我是否必须创建另一个Google Play开发者帐户?

android apk google-play

8
推荐指数
1
解决办法
3866
查看次数