草庐IT

first_it

全部标签

c# - Entity Framework 6.1 Code First Cascading Delete with TPH 用于派生类型上的一对一关系

我试图在公共(public)基类和不相关类的派生类之间创建2个一对一的关系,这样当我删除父行时,数据库中的子行也会被删除。几天来我一直在思考这个问题,并且我已经尝试了fluentapi中所有(对我来说)可以想象的关系组合。至今没有任何令人满意的结果。这是我的设置:publicclassOtherType{publicintID{get;set;}publicint?DerivedTypeAID{get;set;}publicvirtualDerivedTypeADerivedType{get;set;}publicint?DerivedTypeBID{get;set;}publicvi

c# - 在 Entity Framework 5 Code First 中覆盖 SaveChanges 以复制旧遗留库的行为

我们公司发布了一套各种操作数据库中数据的应用程序。每个应用程序都有其特定的业务逻辑,但所有应用程序共享一个公共(public)的业务规则子集。常见的东西被封装在一堆用C++编写的遗留COMDLL中,它们使用“经典ADO”(它们通常调用存储过程,有时它们使用动态SQL)。这些DLL中的大多数都有基于XML的方法(更不用说基于专有格式的方法!)来创建、编辑、删除和检索对象,还有额外的操作,例如快速复制和转换许多实体的方法。中间件DLL现在很旧,我们的应用程序开发人员想要一个新的面向对象(而不是面向xml)的中间件,它可以被C#应用程序轻松使用。公司里的很多人说我们应该忘记旧的范式,转向新的

c# - 在 Database First 中更改实体和属性名称

我正在启动一个新应用程序,该应用程序必须使用现有数据库,该数据库使用一些在.net中非常烦人的命名约定(表名以指定表的业务域的几个三元组开头,列名以表开头八卦,三卦都是大写的,用下划线等分隔,)。我想做的是编写一个简单的重命名规则(这就像找到最后一个下划线并获取后面的所有内容一样简单)并将其应用到EntityFramework中。我真的不想在编辑器中一个一个地编辑名字,尤其是因为数据库可能会改变,我不想重复多次。我正在使用DatabaseFirst(因为数据库已经存在并且它是“主数据库”)和EF4.xDbContextGenerator,它开箱即用(尽管类和属性的命名很糟糕)。我编辑了

C#、Linq2Sql : Is it possible to concatenate two queryables into one?

我有一个可查询的,我在其中使用了各种Where和WhereBetween将集合缩小到特定集合的语句。现在我需要添加一种Where||WhereBetween。换句话说,我不能像到目前为止那样将它们链接在一起,因为那样可以用作And。那么,我该怎么做呢?我看到两种可能性:创建两个可查询对象,一个使用Where,另一个使用WhereBetween。然后连接它们。不知道这是否可能?此外,虽然不是我的特殊情况,但你很可能会得到重复项......以某种方式将Where表达式和在WhereBetween中创建的表达式与某种Or合并。第一个,如前所述,我什至不确定是否可能。如果是的话,我不太确定这是

c# - EF Code-First 中查找表的最佳实践

我正在使用EF做我的第一个项目,我打算采用代码优先模型。我试图找到一些关于处理相当经典的“查找表”场景的指导。我正在处理一个非常典型的情况,我将在其中保留地址数据。所以,我有一个简单的地址DTO...publicclassAddress{publicintId{get;set;}publicvirtualstringStreetAddress1{get;set;}publicvirtualstringStreetAddress2{get;set;}publicvirtualstringCity{get;set;}publicvirtualstringState{get;set;}pub

c# - Entity Framework 4.1 RC : Code First EntityTypeConfiguration inheritance issue

我正在尝试使用一个通用的EntityTypeConfiguration类来为我的所有实体配置主键,以便每个派生配置类不会重复自身。我的所有实体都实现了一个通用接口(interface)IEntity(表示每个实体都必须有一个int类型的Id属性)。我的配置基类如下所示:publicclassEntityConfiguration:EntityTypeConfigurationwhereTEntity:class,IEntity{publicEntityConfiguration(){HasKey(e=>e.Id);Property(e=>e.Id).HasDatabaseGenerat

c# - 错误 : The object cannot be deleted because it was not found in the ObjectStateManager

试图在这里处理EntityFramework,但我遇到了一些减速带......我有一个Get()方法可以正常工作并且已经过测试,但是我的Delete方法不起作用:publicstaticvoidDelete(stringname){J1Entitiesdb=newJ1Entities();db.DeleteObject(Get(name));db.SaveChanges();}但是我收到以下错误:错误:无法删除该对象,因为在ObjectStateManager中找不到它。我运行了调试器,DeleteObject中的对象是正确的...我错过了什么?谢谢。 最佳

c# - 如何使用 Simple injector、Repository 和 Context - code first

我正在尝试使用SimpleInjector创建我的存储库并在业务逻辑层中使用它(我也想使用PerWebRequest方法)。在DAL层我有:publicinterfaceIRepositorywhereT:class{voidAdd(Tentity);voidDelete(Tentity);voidDelete(intid);voidUpdate(Tentity);TGetById(intId);IQueryableAll();IEnumerableFind(Funcpredicate);}和:publicclassEFRepository:IRepository,IDisposabl

c# - Entity Framework Code First 中的有效原始属性是什么?

当我尝试将列映射到我的模型类中的char数据类型时,出现错误:Theproperty'[ColumnName]'isnotadeclaredpropertyontype'[ClassName]'.VerifythatthepropertyhasnotbeenexplicitlyexcludedfromthemodelbyusingtheIgnoremethodorNotMappedAttributedataannotation.Makesurethatitisavalidprimitiveproperty.EFCodeFirst的有效基元类型是什么? 最佳答

c# - 如何解决 "The ChannelDispatcher is unable to open its IChannelListener"错误?

我正在尝试在Windows服务中托管的WCF和我的服务GUI之间进行通信。问题是当我尝试执行我得到的OperationContract方法时"TheChannelDispatcherat'net.tcp://localhost:7771/MyService'withcontract(s)'"IContract"'isunabletoopenitsIChannelListener."我的app.conf看起来像这样:端口7771正在监听(使用netstat检查)并且svcutil能够为我生成配置。如有任何建议,我们将不胜感激。异常的堆栈跟踪Serverstacktrace:atSyste