我有一个字符串inputXMLString,第二个包含名为transformXSLString的变换XSL.它们都是正确格式化的xml.
如何在C#中使用XslCompiledTransform执行转换,以便将结果也作为字符串,让我们说resultXMLString?
我正在尝试创建一个实体类,它将通过只读属性公开相关集合,如下所示:
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”。只能使用可从属性类型分配的类型的支持字段。
您能提供一个如何处理这个问题的工作示例吗?
我有两张桌子:operation
和operation_category_element_relation
.
该operation
表有一个复合主键operation_id: bigint
和date_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)