小编use*_*503的帖子

外键列可以首先成为实体框架6代码中的枚举吗?

我首先将EF5 DB转换为EF6代码.在旧的设置中有一些字节的FK.并在应用程序中映射到具有下划线类型的字节的枚举.这一直很有效.

首先转到代码和EF6我发现枚举应该"正常工作",事实上这似乎是常规列的情况.我可以从这里走出来

public byte FavPersonality {get;set;}
Run Code Online (Sandbox Code Playgroud)

对此:

public Personality FavPersonality {get;set;}
Run Code Online (Sandbox Code Playgroud)

但是当涉及到也是外键的列时,我收到此错误:

System.ArgumentException : The ResultType of the specified expression is not
compatible with the required type. The expression ResultType is 'Edm.Byte'
but the required type is 'Model.Personality'. 
Run Code Online (Sandbox Code Playgroud)

这是先用EF6 + Code无法完成的吗?

编辑:

枚举定义为:byte

c# enums foreign-keys entity-framework-6

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

EventSource 使用 TypeScript 命名事件

我正在尝试使用EventSourceTypescript 但在使用命名事件时无法正确键入响应。

我试过

const evtSource = new EventSource('/my-url');

const parseMyEvent = (evt: Event) => {
  const data: MyDataInterface = JSON.parse(evt.data);
  console.log(data)
}

evtSource.addEventListener('my-event', parseMyEvent);
Run Code Online (Sandbox Code Playgroud)

失败,因为Event没有属性数据

const evtSource = new EventSource('/my-url');

const parseMyEvent = (evt: MessageEvent) => {
  const data: MyDataInterface = JSON.parse(evt.data);
  console.log(data)
}

evtSource.addEventListener('my-event', parseMyEvent);
Run Code Online (Sandbox Code Playgroud)

失败evtSource.addEventListener('my-event', parseMyEvent),并显示“没有与此调用匹配的过载。”。

我知道这MessageEvent是一个通用接口,但是我应该使用什么作为它的类型?

我正在使用 TS 3.5.3,所以我尝试安装外部类型,@types/eventsource但也没有成功(我知道,它是用于 polyfill EventSource 库,但我尝试过)

使用通用时,evtSource.onMessage = fn它可以正常工作,没有任何问题

应该可以在 TS 中输入 EventSource 事件的侦听器/响应,但是如何输入呢?

types typescript eventsource

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

创建一个返回具有相同签名的函数的泛型函数

在Typescript中,我想创建一个函数,它将获取一个函数并返回一个具有相同输入输出的函数.函数本身需要是通用的.这样它可以接受任意数量的参数并返回任何类型.

function improveFunction <T,U>(func:'that takes T and returns U') : (T):U {
  var newFunc = doDomethingToTheFunction(func); 
  return newFunc;
}
Run Code Online (Sandbox Code Playgroud)

如果我返回功能本身,这将工作.但由于我使用arguments特殊参数来接受任意数量的参数,实际上我正在创建一个typescript编译器无法理解的新函数.

编辑:

我又做了一个变种

(U => T) to (U => Promise<T>)

function ddd<T>(func: (...x: any[]) => T) : (...x: any[]) => ng.IPromise<T> {
    // return a function returning a promise of T;
}
Run Code Online (Sandbox Code Playgroud)

generics typescript

6
推荐指数
1
解决办法
1574
查看次数

在 android 文本跨度上方绘制图像

我正在创建一个复杂的文本视图,这意味着同一视图中的文本样式不同。一些文本需要在其正上方有一个小图像。但文本应该仍然存在(不仅仅是替换),所以简单的 ImageSpan 不会做。我不能使用 TextViews 的集合,因为我需要文本换行(或者我错了,这可以用 TextViews 来完成?)。

我试图在相同的字符上组合两个跨度,但是虽然这适用于文本样式,但不适用于 ImageSpan。

我要做什么:

在此处输入图片说明

有任何想法吗?

阅读这篇博文:http : //old.flavienlaurent.com/blog/2014/01/31/spans/ 帮助很大,但我仍然不在那里。

android text textstyle

6
推荐指数
1
解决办法
2071
查看次数

当没有定义DEBUG符号时,等效于Debug.Assert()?

我正在寻找将测试表达式的语法,如果结果为false DEBUG并且缺少符号,则抛出异常.但不是在那里.

我知道我可以用:

#if !DEBUG
  Trace.Assert(condition);
#endif
Run Code Online (Sandbox Code Playgroud)

而且我知道我可以使用:

#if !DEBUG
  SomeGlobal.Production = true;
#endif
Run Code Online (Sandbox Code Playgroud)

所以我可以写:

Trace.Assert(SomeGlobal.Production && condition);
Run Code Online (Sandbox Code Playgroud)

避免在不同的地方有编译说明.

还有其他方法吗?

c# assert

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

VSMSDeploy 任务因超时而失败

从 Visual Studio 2015 内部尝试 Web 部署时,我得到以下信息:

Severity    Code    Description Project File    Line    Suppression State
Error       Web deployment task failed. (Could not complete the request to remote agent URL '<mydomain>'.)

Could not complete the request to remote agent URL '<mydomain>'.
The operation has timed out App C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.targets    4283    
Run Code Online (Sandbox Code Playgroud)

这发生在我使用 Visual Studio UI 成功验证连接之后。

我也成功发布到本地文件系统。

它发生了一个相对较快的连接(每秒上传 1MB)。

它发生在多个连接(不同的 ISP)上。

这是在我去年使用相同方法成功部署多次之后发生的。

在创建新的最小网络应用程序并部署它时,我不会发生

timeout web-deployment msdeploy visual-studio

0
推荐指数
1
解决办法
1197
查看次数