小编Mar*_*cin的帖子

当输入XML和转换XSL是字符串时,如何使用XslCompiledTransform.如何将转换结果作为字符串获取?

我有一个字符串inputXMLString,第二个包含名为transformXSLString的变换XSL.它们都是正确格式化的xml.

如何在C#中使用XslCompiledTransform执行转换,以便将结果也作为字符串,让我们说resultXMLString?

xslt transformation xslcompiledtransform

14
推荐指数
1
解决办法
2万
查看次数

如何在 EF Core 2.2 中使用支持字段设置只读集合属性

我正在尝试创建一个实体类,它将通过只读属性公开相关集合,如下所示:

public class MyEntity: Entity
{
    public int Id{ get; private set; }
    private IList<RelatedEntity> _relatedEntities = new List<RelatedEntity>();
    public IReadOnlyList<RelatedEntity> RelatedEntities => _relatedEntities.ToList().AsReadOnly();
}
Run Code Online (Sandbox Code Playgroud)

构建器类如下所示:

public void Configure(EntityTypeBuilder<MyEntity> builder)
{
    builder.HasKey(x=>x.Id);
    builder.Property<IReadOnlyList<RelatedEntity>>("RelatedEntities")
        .HasField("_relatedEntities ")
        .UsePropertyAccessMode(PropertyAccessMode.Field);
}
Run Code Online (Sandbox Code Playgroud)

它可以构建,但在运行时崩溃,但有以下例外:

InvalidOperationException:“IList”类型的指定字段“_latedEntities”不能用于“IReadOnlyList”类型的属性“MyEntity.RelatedEntities”。只能使用可从属性类型分配的类型的支持字段。

您能提供一个如何处理这个问题的工作示例吗?

c# dbcontext entity-framework-core

9
推荐指数
3
解决办法
8108
查看次数

实体框架中的两列外键

我有两张桌子:operationoperation_category_element_relation.

operation表有一个复合主键operation_id: bigintdate_data: nvarchar(10).在operation_category_element_relation具有这些列也是如此.基于这两列的表之间存在关系.添加ADO.NET实体数据模式后,我收到两个错误:

错误13101:引用约束的从属角色中的所有属性的类型必须与主体角色中的相应属性类型相同.实体'operation_category_element_relation'上的属性'operation_date_data'的类型与引用约束'FK_operation_category_element_relation_operation'中实体'operation'上的属性'operation_id'的类型不匹配.

错误13101:引用约束的从属角色中的所有属性的类型必须与主体角色中的相应属性类型相同.实体'operation_category_element_relation'上的属性'operation_id'的类型与引用约束'FK_operation_category_element_relation_operation'中实体'operation'上的属性'date_data'的类型不匹配.

你能解释一下问题是什么以及如何摆脱它吗?

自动生成的edmx文件的内容是:

 <?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
  <!-- EF Runtime content -->
  <edmx:Runtime>
    <!-- SSDL content -->
    <edmx:StorageModels>
      <Schema xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl"     Namespace="TEMPDataModel.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005">
        <EntityContainer Name="TEMPDataModelTargetContainer"></EntityContainer>
      </Schema>
    </edmx:StorageModels>
    <!-- CSDL content -->
    <edmx:ConceptualModels>
      <Schema xmlns="http://schemas.microsoft.com/ado/2009/11/edm" xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" Namespace="TEMPDataModel" Alias="Self" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" annotation:UseStrongSpatialTypes="false">
        <EntityContainer Name="TEMPDataModelContainer" annotation:LazyLoadingEnabled="true"></EntityContainer>
      </Schema>
    </edmx:ConceptualModels>
    <!-- C-S mapping content -->
    <edmx:Mappings>
      <Mapping xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs" Space="C-S">
        <Alias Key="Model" Value="TEMPDataModel" />
        <Alias …
Run Code Online (Sandbox Code Playgroud)

.net c# sql entity-framework visual-studio-2013

4
推荐指数
1
解决办法
8128
查看次数