我有一个很长的Linq To Entities查询: -
reports = db.CallProfileDailies
.Join(db.ReportDailyTotals,
cpd => cpd.Date,
rdt => rdt.Date,
(cpd, rdt) => new { cpd = cpd, rdt = rdt })
.Where(a => a.cpd.Skill == a.rdt.Skill)
.Join(db.SummaryIntervalTotals,
a => a.rdt.Date,
sit => sit.Date,
(a, sit) => new { cpd = a.cpd, rdt = a.rdt, sit = sit })
.Where(a => a.rdt.Skill == a.sit.Skill)
.Select((a, i) => new ReportModel
{
AverageAbandonDelay = a.sit.AvgAbanTime,
AverageAfterCallWorkTime = a.sit.AvgAcwTime,
AverageHandleTime = (a.sit.AvgAcwTime + a.sit.AvgAcdTime),
AverageSpeedOfAnswer = a.sit.AvgSpeedAns,
AverageTalkTime = …Run Code Online (Sandbox Code Playgroud) 我正在使用EF4 Code First,我有一个属性:
public byte[] Bytes {get;set;}
Run Code Online (Sandbox Code Playgroud)
我可以懒惰加载此属性(仅在需要时)吗?
entity-framework lazy-loading ef-code-first entity-framework-4.1
我想创建一个集成测试,它从数据库中抓取EF实体,将其克隆到分离的对象,修改它然后将其保存回来并再次将其与原始对象进行比较.
但是,我使用AutoMapper来创建类的克隆,但事实证明它也被跟踪或是原始对象的别名.我需要它与EF完全分离,并且能够在我的存储库类之外执行此操作(即不使用任何EF分离方法).
这样做的原因是我的EF类包含其他类的嵌套集合,EF不处理持久化整个对象树.因此,我的存储库类中的Update()方法处理这个问题,我希望我的NUnit测试来测试这段代码.我希望测试能够快速创建原始类的副本而无需EF跟踪它.
在数据库中,我有一个名为SERVICE的表.对于这个表,我在INSER/UPDATE/DELETE之后有触发器.当我尝试使用EF将记录插入数据库时,我得到错误"元素集合中不存在具有标识的成员'component_type_name'.\ r \nParameter name:identity"."component_type_name"列在SERVICE表中不存在,但在表COMPONENT_TYPES_IN_SERVICE中.这是表SERVICE的插入触发器.当我从表中删除触发器时,插入时没有任何问题.
CREATE TRIGGER [dbo].[UpdateComponentTypesInServiceOnInsert]
ON [dbo].[SERVICE]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @componentID int;
SET @componentID = 0;
DECLARE @ComponentTypeID int;
SET @ComponentTypeID = 0;
DECLARE @ComponentTypeName nvarchar(255);
SET @ComponentTypeName = null;
SELECT @componentID = component_id from inserted;
SELECT @ComponentTypeID = c.component_type_id, @ComponentTypeName = ct.description from COMPONENTS c
inner join dbo.COMPONENT_TYPES ct on c.component_type_id = ct.id
WHERE …Run Code Online (Sandbox Code Playgroud) 我想知道在WCF服务中是否建议使用Self Tacking Entities(在Entity Framework中)?如果是,那么你可以指导我一个指导如何做到这一点的教程吗?
实际上,我将使用Prism与MEF和MVVM开发WPF应用程序.我决定使用Entity Framework.我想要有关这种方法的建议和建议.
任何帮助将不胜感激.
我们正在尝试使用x509证书在客户端和WCF服务之间实现消息安全性.客户端发送soap安全标头,服务按预期验证标头.问题是该服务没有使用我们需要的安全头来签署它的响应消息.我相信下面包含了所需的所有信息,但如果您还需要其他信息,请告诉我.谢谢!
该服务的web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
<system.serviceModel>
<services>
<service name="RealIdCardService.AetnaNavigator" behaviorConfiguration="serviceCredentialBehavior">
<endpoint address="" contract="RealIdCardService.IAetnaNav" binding="wsHttpBinding" bindingConfiguration="InteropCertificateBinding"></endpoint>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="serviceCredentialBehavior">
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpsGetEnabled="true" />
<serviceCredentials>
<!--certificate storage path in the server-->
<serviceCertificate findValue="WcfClient" x509FindType="FindBySubjectName" storeLocation="LocalMachine" storeName="TrustedPeople" />
<issuedTokenAuthentication allowUntrustedRsaIssuers="true" />
<!--certificate storage path in the client-->
<clientCertificate>
<certificate findValue="WcfServer" x509FindType="FindBySubjectName" storeLocation="LocalMachine" storeName="TrustedPeople" />
<authentication certificateValidationMode="PeerTrust" revocationMode="NoCheck" />
</clientCertificate>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="InteropCertificateBinding"> …Run Code Online (Sandbox Code Playgroud) 我正在寻找Sharp Architecture替代方案,它首先使用Entity Framework代码作为ORM.是否有像Sharp架构这样的成熟项目,首先使用EF代码?
我使用EF 4.1 Power Toys生成了一堆类来对我的数据库进行逆向工程.我的类和地图看起来很好并且运行良好,但是当我检查返回的类型的名称时,似乎EF已经为类型名称添加了GUID.这是一个用于身体的方法:
var context = new DbContext();
var myVehicle = context.Vehicles.First();
return myVehicle.GetType().Name;
Run Code Online (Sandbox Code Playgroud)
......会返回类似的东西:
"Vehicle_F31E8AC6EB21A3220F761E7C2FFEB3B433CEFC7CF567E9A0CF53E8F4B598C2B9"
Run Code Online (Sandbox Code Playgroud)
为什么会这样,有什么办法可以关掉它?
大多数情况下,我的混淆似乎是从我在WCF环境中理解安全性的尝试中解脱出来的.在WCF中,看起来证书可用于身份验证和加密.基本上,我试图理解:
我不完全确定这是正确的论坛.我的问题源于试图理解WCF,但我想我想理解这背后的理论.如果这是一个好主意,请为我建议正确的论坛.如果有必要的话,我很乐意尝试迁移这个问题.
提前致谢!
我正在使用NServiceBus与分布式事务.通常这很棒.我的消息成功或失败.全有或全无.
但是,我也在尝试将诊断数据记录到我的数据库中.这是在单独的ObjectContext上完成的.为此,无论分布式事务的成功与否,我都希望将其保存到数据库中.
有没有办法让一个(只有一个)数据上下文连接到分布式事务之外的数据库?(并保留其余的?)
.net ×3
c# ×3
wcf ×3
certificate ×2
wcf-security ×2
ws-security ×2
architecture ×1
asp.net-mvc ×1
automapper ×1
code-first ×1
https ×1
lazy-loading ×1
linq ×1
nservicebus ×1
soap ×1
sql-server ×1
transactions ×1
triggers ×1