kin*_*ngo 6 .net windows-services ef-code-first entity-framework-4.3
我的Windows服务是一个.NET应用程序.该服务依赖于我使用EF 4.3 Code First的数据访问.我的服务运行并尝试访问数据时收到以下错误.
FullPurgeAndReplace()中发生错误:System.InvalidProgramException:公共语言运行时检测到无效程序.在System.Data.Entity.DynamicProxies.MOMInventoryItem_3ED5D5176D2C03867C62DD8E4381A882350CFD9CD931F3CD551623A6EF5C4D8E.set_Id(十进制)在lambda_method(封闭,牛头刨床)在System.Data.Common.Internal.Materialization.Shaper.HandleEntityAppendOnly [TEntity](Func键1.ReadNextElement(整形器整形器)在系统.Data.Common.Internal.Materialization.Shaper 1..ctor(IEnumerable 1 source)...更多删除
2 constructEntityDelegate, EntityKey entityKey, EntitySet entitySet)
at lambda_method(Closure , Shaper ) at System.Data.Common.Internal.Materialization.Coordinator1.SimpleEnumerator.MoveNext() at System.Collections.Generic.List
1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable
在相同的机器上我有一个依赖于相同数据访问项目的Web应用程序,并且运行没有问题.对于IIS中的该网站,我确实为相应的应用程序池检查了启用32位应用程序.
我研究了这个问题,发现它可能与错误中的实体(MOMInventoryItem)有一个十进制主键有关.我没有选择,因为我正在与现有系统集成.然而,据推测,这是一年多以前EF 4.0的一个已知问题,我希望它现在可以解决.
以下是我的实体的一些代码:
[Table("STOCK")]
public class MOMInventoryItem
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None), Column("STOCK_ID")]
public virtual decimal Id { get; set; }
Run Code Online (Sandbox Code Playgroud)
同样,这可以通过IIS中托管的MVC应用程序正常工作,但在同一台Windows 2008 R2服务器上作为Windows服务失败.它也适用于我的DEV机器(Win7/VS11). 我的问题是什么,我可以永久地解决它还是解决它?
一如往常,在可能的情况下,非常感谢和回报.
归档时间: |
|
查看次数: |
306 次 |
最近记录: |