小编Jas*_*son的帖子

是否可以阻止EntityFramework 4覆盖自定义属性?

我首先使用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的"种类".这样可以节省数小时和额外的复杂功能.

c# entity-framework poco entity-framework-4 database-first

14
推荐指数
4
解决办法
1万
查看次数

Windows授权管理器(AzMan)是否已过时?在新的ASP.NET应用程序中使用是否很好?

是否有人使用Windows授权管理器(AzMan)进行"绿地"项目?如果是这样,在ASP.NET应用程序中使用该技术作为成员/角色提供者有什么好处吗?

membership asp.net security azman authorizationmanager

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

ko.toJSON()是否适用于日期?

我在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)

ajax json knockout.js

7
推荐指数
1
解决办法
5935
查看次数

使用.NET 4.5.1,如何使用ETW提供的一些非直观属性?

随着.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)

.net trace etw

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

Angular 7 测试 - 异步函数调用 + async..await

在 Angular 7 单元测试中,有没有办法async( async(){} )在将异步支持与async..await关键字结合使用时避免双重语法?

我是 angular 的新手,但我是一位经验丰富的程序员,而且我无法选择我喜欢的测试风格。

我想async..await在测试中安全使用,并且我理解以下语法。然而,当指导开发人员接触现代 javascript 和/或async..await双重async(async())语法的概念时,对他们来说是多余的和令人困惑的。他们忽略了外部异步。服务中抛出的异常会导致在实际测试之外报告失败,这很难追踪。

似乎以下之一会更好:

  1. it()应该神奇地支持async..await和包装我的回调,async()这样我就不必考虑它了。
  2. it()应该采用一个可选的函数参数(即,asyncor fakeAsync)来包装我的回调。
  3. it()变化ita()并且itfa()应该存在,它将用适当的异步助手包装我的回调。
  4. 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)

unit-testing karma-jasmine angular angular-test angular7

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

如何在与用户交互后将表单重置为其默认外观

我希望在与用户进行一些交互后获得我的表单的默认视图.换句话说,在用户隐含的一些更改后,什么命令会将表单返回到初始弹出窗口?我有很多控件和计算,所以我不想逐个遍历控件并将它们设置为null或它们的默认值.这将是伟大的,好像我再次启动表单,一些如何.

c# winforms

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

如何使用“kubectl”和“custom-columns”来处理数组?

参考文档中,他们说您可以像这样打印容器的图像。

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)

kubectl

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