在数据库中,我有一个名为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,但我想我想理解这背后的理论.如果这是一个好主意,请为我建议正确的论坛.如果有必要的话,我很乐意尝试迁移这个问题.
提前致谢!
我正在使用Entite Framework 4.2 CF和SQLite,但是当我尝试启动应用程序时,我得到"提供程序不支持CreateDatabase"错误.这是我的模型映射:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
#region NewsMapping
modelBuilder.Entity<News>().ToTable("news");
modelBuilder.Entity<News>().HasKey(x => x.Id).Property(x => x.Id).HasColumnName("ID").HasColumnOrder(0);
modelBuilder.Entity<News>().Property(x => x.Status).HasColumnName("STATUS");
modelBuilder.Entity<News>().Property(x => x.NewsTitle).HasColumnName("NEWS_TITLE");
modelBuilder.Entity<News>().Property(x => x.Content).HasColumnName("CONTENT_1");
modelBuilder.Entity<News>().Property(x => x.IsImportant).HasColumnName("IS_IMPORTANT");
modelBuilder.Entity<News>().Property(x => x.OrderNumber).HasColumnName("ORDER_NUMBER");
modelBuilder.Entity<News>().Property(x => x.CreateDate).HasColumnName("CREATE_DATE");
#endregion
base.OnModelCreating(modelBuilder);
}
Run Code Online (Sandbox Code Playgroud)
这段代码有什么问题?
谢谢
sqlite system.data.sqlite ef-code-first entity-framework-4.1 asp.net-mvc-3
我想知道开发人员对WCF WebApi服务的看法是什么.
在N层应用程序中,我们可以拥有多层服务.我们可以使用服务来消耗外部服务的数据.在那种情况下,使用WCF 4.0创建异步休息服务是值得的.
public interface IService
{
[OperationContractAttribute(AsyncPattern = true)]
IAsyncResult BeginGetStock(string code, AsyncCallback callback, object asyncState);
//Note: There is no OperationContractAttribute for the end method.
string EndGetStock(IAsyncResult result);
}
Run Code Online (Sandbox Code Playgroud)
但随着WCF WebApi的发布,这种方法仍然需要吗?创建异步服务?
如何在IIS/WAS /自托管中托管它们
期待建议和评论.
我有这样一个实体:
public class Course {
public CultureInfo Culture {get; set;}
:
}
Run Code Online (Sandbox Code Playgroud)
我想只将Name属性映射CultureInfo到Entity Framework为我生成的表中的单个列.
我该怎么做?目前我已经尝试过查看DbContext的OnModelCreating()方法,但我找不到任何突出的东西.
我正在使用Entity Framework 4.1和MVC 3应用程序使用Code First方法.
非常感谢.
mapping code-first ef-code-first entity-framework-4.1 asp.net-mvc-3
所以,我有一个具有普通属性的"Speaker"类,以及一个像这样的普通旧方法:
public string FullNameFirstLast()
{
return FirstName + " " + LastName;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Entity Framework Code First Magic Unicorn版,我收到此错误:
System.NotSupportedException:LINQ to Entities无法识别方法'System.String FullNameFirstLast()'方法,并且此方法无法转换为商店表达式.
这看起来很奇怪,因为它是一种方法,而不是属性,所以我想知道为什么EF会关心它...所以我试着告诉EF忽略它:
modelBuilder.Entity<Speaker>()
.Ignore(ignore => ignore.FullNameFirstLast())
;
Run Code Online (Sandbox Code Playgroud)
这没有用,因为现在我收到此错误消息:
System.InvalidOperationException:表达式'ignore => ignore.FullNameFirstLast()'不是有效的属性表达式.表达式应该表示一个属性:C#:'t => t.MyProperty'VB.Net:'Punction(t)t.MyProperty'.
我该怎么做呢?我假设我的模型对象上有EF方法,对吧?
wcf ×4
c# ×2
certificate ×2
wcf-security ×2
ws-security ×2
.net ×1
architecture ×1
asp.net-mvc ×1
code-first ×1
https ×1
mapping ×1
soap ×1
sql-server ×1
sqlite ×1
triggers ×1
wcf-hosting ×1
wcf-rest ×1
wcf-web-api ×1