我首先使用EF 4数据库+ POCO.因为EF没有简单的方法来声明传入的DateTimes是种类的UTC,所以我将属性从自动生成的文件移动到另一个文件中的部分类.
private DateTime _createdOn;
public virtual System.DateTime CreatedOn
{
get { return _createdOn; }
set
{
_createdOn =
(value.Kind == DateTimeKind.Unspecified)
? _createdOn = DateTime.SpecifyKind(value, DateTimeKind.Utc)
: value;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,现在每次更新模型时,都会在T4代中再次创建自动化属性.当然这会导致以下编译错误:"类型'Foo'已包含'CreatedOn'的定义".
有没有办法告诉EF不生成该属性并让我自己处理它?
更新
谢谢大家的答案......
我创建了一个具有不同名称的新自定义属性.
public virtual System.DateTime CreatedOnUtc
{
get
{
return (CreatedOn.Kind==DateTimeKind.Unspecified)
? DateTime.SpecifyKind(CreatedOn, DateTimeKind.Utc)
: CreatedOn;
}
set
{
CreatedOn =
(value.Kind == DateTimeKind.Unspecified)
? CreatedOn = DateTime.SpecifyKind(value, DateTimeKind.Utc)
: value;
}
}
Run Code Online (Sandbox Code Playgroud)
我还将自动生成属性的所有setter和getter设置为Private,但我需要在Linq-to-Entities查询(叹气)中使用这些属性.在这些情况下,我将这些吸气剂设置为内部.
我确定希望在DateTime类型上有一个下拉列表,指定EF应该将其视为DateTime的"种类".这样可以节省数小时和额外的复杂功能.
是否有人使用Windows授权管理器(AzMan)进行"绿地"项目?如果是这样,在ASP.NET应用程序中使用该技术作为成员/角色提供者有什么好处吗?
我在asp.net mvc页面上使用knockoutjs.我使用ajax通过调用将表单保存回服务器ko.toJSON(viewModel),然后使用jQuery将结果发回服务器.除了作为空对象持久化的Javascript日期之外,视图模型上的所有属性都已成功序列化.
宣言:
var viewModel = {
startTime: ko.observable(),
type: ko.observable(),
durationInMinutes: ko.observable(),
notes: ko.observable()
};
Run Code Online (Sandbox Code Playgroud)
保存数据:
var postData = ko.toJSON(viewModel);
$.ajax({
url: "/data",
type: "POST",
data: postData,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function () {
console.log('success!');
},
error: function () {
console.log('fail!');
}
});
Run Code Online (Sandbox Code Playgroud)
viewModel.startTime()的console.log值是:
Date {Tue May 10 2011 11:30:00 GMT-0500 (Central Daylight Time)}
在保存数据的第1行之后,postData的值为:
{
"startTime": {},
"type": "1",
"durationInMinutes": "45",
"notes": "asfasdfasdfasdfasdfasdfasdfas",
"displayableStartTime": "10-May 11:30"
}
Run Code Online (Sandbox Code Playgroud)
如果我将保存数据的第1行展开到
var jsonEvent …Run Code Online (Sandbox Code Playgroud) 随着.NET v4.5.1的进步,我想跳上ETW的潮流.但是,目前还不清楚如何最好地使用某些属性来创建直观的自定义跟踪.如何使用EventAttribute提供的一些非直观属性?鉴于框架和支持工具的发展,这些属性很少使用历史工件吗?
直观的属性:
非直觉属性:
例如,给定ServiceInbound等自定义事件,我可以看到使用OpCodes来区分Begin和End.但是由于API我必须创建两个单独的方法,为什么我要使用OpCode属性?
public static class CustomOpcode
{
public const EventOpcode Begin = (EventOpcode) 0x0001;
public const EventOpcode End = (EventOpcode) 0x0002;
}
[Event(1,
Level = EventLevel.Informational,
Channel = EventChannel.Operational,
Opcode = CustomOpcode.Begin)]
public void ServiceInboundBegin(string message)
{
WriteEvent(1, message);
}
[Event(2,
Level = EventLevel.Informational,
Channel = EventChannel.Operational,
Opcode = CustomOpcode.End)]
public void ServiceInboundEnd(string message)
{
WriteEvent(2, message);
}
Run Code Online (Sandbox Code Playgroud) 在 Angular 7 单元测试中,有没有办法async( async(){} )在将异步支持与async..await关键字结合使用时避免双重语法?
我是 angular 的新手,但我是一位经验丰富的程序员,而且我无法选择我喜欢的测试风格。
我想async..await在测试中安全使用,并且我理解以下语法。然而,当指导开发人员接触现代 javascript 和/或async..await双重async(async())语法的概念时,对他们来说是多余的和令人困惑的。他们忽略了外部异步。服务中抛出的异常会导致在实际测试之外报告失败,这很难追踪。
似乎以下之一会更好:
it()应该神奇地支持async..await和包装我的回调,async()这样我就不必考虑它了。it()应该采用一个可选的函数参数(即,asyncor fakeAsync)来包装我的回调。it()变化ita()并且itfa()应该存在,它将用适当的异步助手包装我的回调。it()用 包装我的回调async,另外一个itf()将我的回调包装在fakeAsync.我是否缺少现有的概念或语法?有更好的选择吗?
import { async } from '@angular/core/testing';
describe('MyService', () => {
let service: MyService;
...
it('should get data', async( async() => {
// arrange
let expectedData = { answer: 42 …Run Code Online (Sandbox Code Playgroud) 我希望在与用户进行一些交互后获得我的表单的默认视图.换句话说,在用户隐含的一些更改后,什么命令会将表单返回到初始弹出窗口?我有很多控件和计算,所以我不想逐个遍历控件并将它们设置为null或它们的默认值.这将是伟大的,好像我再次启动表单,一些如何.
在参考文档中,他们说您可以像这样打印容器的图像。
kubectl get pod test-pod -o custom-columns=CONTAINER:.spec.containers[0].name,IMAGE:.spec.containers[0].image
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试任何带有括号的命令时,我收到一条错误消息并且没有输出。
no matches found: custom-columns=CONTAINER:.spec.containers[0].name,IMAGE:.spec.containers[0].image
Run Code Online (Sandbox Code Playgroud)
如果我只是指定类似的内容,.spec.containers它将输出与此类似的整个数组:
[map[image:weaveworksplugins/scope-traffic-control:latest imagePullPolicy:Always name:weavescope-traffic-control-plugin resources:map[requests:map[cpu:100m]] securityContext:map[privileged:true procMount:Default] terminationMessagePath:/dev/termination-log terminationMessagePolicy:File volumeMounts:[map[mountPath:/var/run/docker.sock name:docker-sock] map[mountPath:/var/run/scope/plugins name:scope-plugins]
...
Run Code Online (Sandbox Code Playgroud)
Kubectl版本信息
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.2", GitCommit:"f6278300bebbb750328ac16ee6dd3aa7d3549568", GitTreeState:"clean", BuildDate:"2019-08-05T16:54:35Z", GoVersion:"go1.12.7", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.2", GitCommit:"66049e3b21efe110454d67df4fa62b08ea79a19b", GitTreeState:"clean", BuildDate:"2019-05-16T16:14:56Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud) c# ×2
.net ×1
ajax ×1
angular ×1
angular-test ×1
angular7 ×1
asp.net ×1
azman ×1
etw ×1
json ×1
knockout.js ×1
kubectl ×1
membership ×1
poco ×1
security ×1
trace ×1
unit-testing ×1
winforms ×1