目前正在使用Entity Framework 5处理ASP.Net MVC 4应用程序.使用CodeFirst进行初始开发阶段.但现在已禁用自动迁移并直接使用SSMS设计新表并编写POCO.一切都很好.
最近,在生产中发现了一个奇怪的问题.其中一个最初设计的表中的记录跳过自动增量标识值超过900个数字.这在过去3个月内发生了3次.在本地调试应用程序但无法重现.没有观察到任何模式或趋势.
模型:
public class Enquiry
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public Int64 EnquiryId { get; set; }
[Required]
public int UserId { get; set; }
[Required]
public byte Bid { get; set; }
...
[Required]
public DateTime Created { get; set; }
[Required]
public DateTime Modified { get; set; }
}
public class EnquiryDetail
{
[Key]
public Int64 EnquiryId { get; set; }
[Required]
public int CreditScore { get; set; }
[Required]
public byte BidMode { get; …Run Code Online (Sandbox Code Playgroud) sql-server entity-framework asp.net-mvc-4 entity-framework-5 azure-sql-database
我正在创建一个Fluent N hibernate子类映射,目前看起来像这样:
public class TaskDownloadMap: SubclassMap<TaskDownload>
{
public TaskDownloadMap()
{
Table("TasksDownload");
Map(x => x.ExtraProperty1, "ExtraProperty1")
.Nullable();
Map(x => x.ExtraProperty2, "ExtraProperty2")
.Nullable();
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试保存其中一个实体时,我得到一个例外:
Test.TaskRepositoryTest.DeleteTest:
NHibernate.Exceptions.GenericADOException : could not insert: [TaskManager.Entities.TaskDownload#269][SQL: INSERT INTO TasksDownload (ExtraProperty1, ExtraProperty2, Task_id) VALUES (?, ?, ?)]
----> System.Data.SqlClient.SqlException : Invalid column name 'Task_id'.
Run Code Online (Sandbox Code Playgroud)
这是因为我在子类的表上设置的Id列被命名为"TaskId".是否有一些覆盖nhibernate试图使用的默认命名方案?我似乎没有能力在子类中指定"Id"列,我甚至无法找到其他任何人谈论它.
父映射如下所示:
public class TaskMap: ClassMap<Task>
{
public TaskMap()
{
Table("Tasks");
Id(x => x.Id, "Id")
.GeneratedBy.Identity();
.
.
.
}
}
Run Code Online (Sandbox Code Playgroud)
就像我之前所说的那样,我将使用Table-Per-Subclass策略,因此这些是2个不同的表.我可以将TasksDownload表上的键更改为"Task_id",但我只能在映射中指定它是"TaskId",这样我就可以遵循我的命名约定.
浏览我的mvc3 azure web角色时,我随机得到一个base 64编码错误.我正在使用带有被动身份验证的WIF来对我的ADFS服务器进行身份验证.我无法隔离它的来源,但我有一个想法,我希望得到一些反馈/帮助.
从调用堆栈看起来它来自一个糟糕的cookie.当我从chrome开发者控制台查看我的cookie时,来自wif/adfs的"FedAuth"cookie是唯一出现的.所以我想这些cookie已经被破坏或者其中包含无效字符.我正在努力验证这一点,但由于错误是随机发生的,所以需要一些时间.有没有人经历过类似的事情,或者有什么倾向可能导致这种情况?任何帮助表示赞赏!
这是一个例外:
The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters.
[FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters. ]
System.Convert.FromBase64String(String s) +0
Microsoft.IdentityModel.Web.ChunkedCookieHandler.ReadInternal(String name, HttpCookieCollection requestCookies) +613
Microsoft.IdentityModel.Web.ChunkedCookieHandler.ReadCore(String name, HttpContext context) +174
Microsoft.IdentityModel.Web.CookieHandler.Read(String …Run Code Online (Sandbox Code Playgroud) 在过去的几天里,我们开始收到Azure发来的大量电子邮件,内容如下
学科:
[AUTOSCALE FAILED] - 由于没有可用的指标,service_name的自动调度任务失败
消息正文:
Autoscale has not been able to read any monitoring data ... We recommend monitoring the responsiveness and capacity of your service, to make sure that there are currently enough machines deployed to meet your goals. We will attempt to autoscale as soon as the role instances are available
Run Code Online (Sandbox Code Playgroud)
我们最近没有做出任何更改,所以我们不确定这意味着什么,或者我们是否应采取任何行动.任何人都可以对此有所了解吗?
我试图使用join从另一个表中提取单个属性,该表没有映射.我的问题是,当我创建我的映射实体的新实例并保存它时,我得到一个关于尝试插入到我的未映射表中的错误(它试图将null插入到非空列中).我以为使用.ReadOnly()会阻止nhibernate尝试插入到我的未映射表中,但这似乎不起作用.
我的映射看起来像这样:
// Join _UnMapped table with Mapped table to get the property
Join("_UnMapped", x =>
{
x.Fetch.Join();
x.KeyColumn("UnMappedFK");
x.Map(y => y.Property, "Property")
.Not.Nullable()
.ReadOnly();
});
Run Code Online (Sandbox Code Playgroud)
我已经考虑过创建一个视图并映射到那个来获取这个属性,但是如果可以的话我宁愿通过映射来完成它.任何帮助(或关于如何工作的解释)将不胜感激!
我刚刚开始为我的公司在Salesforce中进行适度的Web开发工作,我正在寻找对部署过程的一些反馈/洞察力.现在看起来我们将使用视觉力和顶点进行大量的定制工作.我想知道的是,如果我在生产组织(数据或元数据)中搞砸某些东西,是否有办法回滚到仍然有效的我的组织的快照或以前发布的版本?使用平庸的开发工具,我担心当出现错误时,我将无法快速解决问题.
我在这里阅读有关设置源代码控制的不同方法: 多个开发人员如何有效地在一个force.com应用程序上工作?
但是我没有发现任何人走过基本上恢复变更集或改变分支的过程.对salesforce的保护是否足够好,我不必担心生产中的错误?我不应该担心还原变更集吗?
我有一个实体映射到一个名为Rule的表.此实体的表具有另一个名为Category的表的FK.我试图找出如何从我的规则实体中的类别中提取属性.我很确定我想在我的实体映射中使用连接,但我无法弄清楚如何配置它以使其工作.这是我的映射:
Join("Category", x =>
{
x.Map(i => i.CategoryName, "Name");
x.KeyColumn("CategoryId");
x.Inverse();
});
Run Code Online (Sandbox Code Playgroud)
这是它正在生成的SQL ...
SELECT ...
FROM Rule rules0_ left outer join Category rules0_1_ on rules0_.Id=rules0_1_.CategoryId
WHERE ...
Run Code Online (Sandbox Code Playgroud)
这是我想要的SQL.
SELECT ...
FROM Rule rules0_ left outer join Category rules0_1_ on rules0_.CategoryId=rules0_1_.Id
WHERE ...
Run Code Online (Sandbox Code Playgroud)
我似乎无法在JoinPart上找到任何可以让我这样做的东西.从我发现的一些文档中看,Subselect看起来很有希望,但我找不到任何如何使用它的例子.对此问题的任何建议将不胜感激.谢谢!
c# nhibernate join fluent-nhibernate fluent-nhibernate-mapping
c# ×4
nhibernate ×3
azure ×2
join ×2
apex-code ×1
asp.net-mvc ×1
salesforce ×1
sql ×1
sql-server ×1
visualforce ×1
wif ×1