我正在使用Azure移动服务和Azure sql数据库的C#后端。我有一个“运行”表,在其中创建了类和控制器。 RunItem.cs继承EntityData,其中包含CreatedAt和ModifiedAt对象。
由于我正在研究的项目的性质,我们认为这些会泄漏太多有关“运行”的信息。因此,我们要么希望删除这些列,要么只是插入虚拟数据。
我尝试过的一件事是直接从ITableData继承而不是从EntityData继承。这只是出现错误,指出这些对象不存在。
我尝试的另一件事是覆盖对象。这将创建一个运行时错误,我尚未完成跟踪。我所知道的是插入未完成。我所做的代码:
public new System.DateTimeOffset? CreatedAt
{
get { return this.CreatedAt; }
set => this.CreatedAt = new System.DateTimeOffset((long)0, new System.TimeSpan(0, 0, 0));
}
也许我缺少明显的代码,或者某处有标志会触发这些字段不被使用。另外,这可能是不可能的。
更新:
我为RunItem提供的代码很简单,与Azure服务生成的代码相距不远。此后,我删除了覆盖我之前发布的CreatedAt的代码。
using Microsoft.Azure.Mobile.Server;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace AsureRunService.DataObjects
{
public class RunItem : EntityData
{
public int RunNumber { get; set; }
public string Cipher1 { get; set; }
public string Cipher2 { get; set; }
public string Stats { get; set; }
public string Summary { get; set; }
public string KeyId { get; set; }
public string UserId { get; set; }
}
}