Entity framework 实体框架和使用定义查询的存储过程
我写了一个定义查询Entity framework 实体框架和使用定义查询的存储过程,entity-framework,Entity Framework,我写了一个定义查询 <EntitySet Name="EntityFramework" EntityType="SEOAnalysisModel.Store.EntityFramework"> <DefiningQuery> SELECT Keyword, ResultHead ,Year from SeoAnalysis where Year = 2005 </DefiningQuery> </EntitySe
<EntitySet Name="EntityFramework" EntityType="SEOAnalysisModel.Store.EntityFramework">
<DefiningQuery>
SELECT Keyword, ResultHead ,Year from SeoAnalysis where Year = 2005
</DefiningQuery>
</EntitySet>
这个列值是重复的
现在如何获取所有列的值
事实上,我得到了相同的关键字重复
如果我有像Apple这样的关键字,那么这个关键字会一直重复,直到循环运行。您已经将年份标记为实体的关键字。键在定义查询中的所有记录中必须是唯一的,否则它不是键。如果密钥不是唯一的,EF将完全执行您得到的操作—它将仅将第一条记录具体化为实体,并将其用于所有其他记录。EF使用键标识实体-如果您得到两个具有相同键值的记录,EF相信它是同一实体 您已将年份标记为实体的键。键在定义查询中的所有记录中必须是唯一的,否则它不是键。如果密钥不是唯一的,EF将完全执行您得到的操作—它将仅将第一条记录具体化为实体,并将其用于所有其他记录。EF使用键标识实体-如果您得到两个具有相同键值的记录,EF相信它是同一实体
<EntityType Name="EntityFramework">
<Key>
<PropertyRef Name="Year" />
</Key>
<Property Name="Year" Nullable="false" Type="int" />
<Property Name="Keyword" Nullable="false" MaxLength="1000" Type="varchar" />
<Property Name="ResultHead" Nullable="false" MaxLength="2000" Type="varchar" />
</EntityType>
// Stored procedure
public void SelectValue() {
using (MyConnection ctx = new MyConnection()) {
foreach (var p in ctx.EntityFramework(2005)) {
Response.Write(p.Keyword);
}
}
}