我的ADO.Net实体数据模型下面有一个名为ABC的模型(以自引用表为模型).
ABC Properties are
----------
ParentID
Child ID
ABC Navigation Properties are
----------
ParentCategory (refers to the parent category or the 0..1 side of the relationship)
SubCategories (refers to the children or the * side of the relationship, represents the navigation property for the children)
Run Code Online (Sandbox Code Playgroud)
我想为特定的ParentID(即不是层次结构的顶部)选择子孙.我怎样才能做到这一点.有人可以提出一个例子.谢谢
我在vb中尝试了下面提出的解决方案,但它只加载了一个级别;
我在VB中这样做,所以向C#程序员道歉.
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
Dim ctx = New links2Entities
Dim query = From c In ctx.PBS.Include("SubCategory.SubCategory") Where (c.Parent_ID = 7)
For Each result As …Run Code Online (Sandbox Code Playgroud) 在模型浏览器中创建函数导入时,获取列信息不会返回任何列,可能原因是这样
我的存储过程从临时表返回数据,并在程序结束时删除该表.
我不确定,请确认,如果是这种情况,没有列信息,那么创建复杂类型对于这种情况也是不可能的.
请建议我如何手动为其列信息未通过功能导入屏幕解析的过程创建复杂类型.
谢谢
我想要自己处理gridview排序.我无法想出这个:
protected void gvPackages_Sorting(object sender, GridViewSortEventArgs e)
{
List<Package> pck = new List<Package>();
pck = Session["Packages"] as List<Package>;
var output = (from p in pck
orderby p.Department
select p); <-line that breaks
// var output = pck.OrderBy(x => x.Department).ToList(); <- I've also tried this
gvPackages.DataSource = output;
gvPackages.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
至少有一个对象必须实现IComparable.
包是一个实体,所以我不明白我错过了什么.我在网上找到的其他例子反映了我上面的内容,以及它的各种迭代.我错过了什么?我还要说部门只是一个领域,作为一个测试来使它工作,它将在最终版本中更具活力.
编辑:再次感谢堆栈,我是一个很大的假人.
我试图用一些可选的where子句编写一个LINQ语句.这是为了搜索.用户可以选择特定站点来搜索或搜索所有站点:
var query =
_db.STEWARDSHIP
.OrderBy(r => r.SITE.SITE_NAME)
.Where(r => r.SITE_ID == SiteId)
.Where(r => r.VISIT_TYPE_VAL.VISIT_TYPE_ID == VisitTypeId)
.Select(r => new
{
id = r.STEWARDSHIP_ID,
name = r.SITE.SITE_NAME,
visit_type = r.VISIT_TYPE_VAL.VISIT_TYPE_DESC,
visit_date = r.VISIT_DATE
});
return query;
Run Code Online (Sandbox Code Playgroud)
因此,当方法获得SiteId = 14时,没问题.但是,当它获得SiteId = null时,则不应考虑where子句.
谢谢Eric
我有一个包含MVC3 Web应用程序的解决方案和一个包含Entity Framework文件的数据项目.我有实体框架工作,但是当我尝试将一个Entity Framework Entity Item对象包含到我的一个视图模型中以传递给视图时,我收到以下错误
"System.Data.Objects.DataClasses.EntityObject"类型在未引用的程序集中定义.您必须添加对程序集'System.Data.Entity,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用.
我试图添加对该程序集的引用,然后在项目中使用using语句包含它,但它似乎没有做任何事情.但是遇到这个问题也提出了一个问题:尝试在视图模型中使用实体框架实体项目是不是一个好主意?根据使用ASP.NET MVC3和Entity Framework时的最佳实践,有哪些最佳经验法则可以管理表示层,业务层和数据层中应该发生什么,以及这些是如何分开的?
我知道这涉及到问题......
谢谢您的帮助.
asp.net-mvc entity-framework entity-framework-4 asp.net-mvc-3
我想更新记录FormView,ObjectDataSource并失去我的一天来解决这个错误.
在ObjectStateManager中找不到具有与提供的对象的键匹配的键的对象.验证提供的对象的键值是否与必须应用更改的对象的键值匹配.
我的代码如下
private static Entities1 _db = null;
public static Entities1 CreateDataContext()
{
if (_db == null)
{
_db = new Entities1(System.Configuration.ConfigurationManager.ConnectionStrings["Entities1"].ConnectionString);
_db.games.MergeOption = MergeOption.NoTracking;
_db.my_aspnet_users.MergeOption = MergeOption.NoTracking;
_db.platforms.MergeOption = MergeOption.NoTracking;
}
return _db;
}
public void Update(game item)
{
Entities1 DB = CreateDataContext();
item.modified = DateTime.Now;
var obj = (from u in DB.games
where u.idgames == item.idgames
select u).First();
DB.games.ApplyCurrentValues(item);//Error Here
DB.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud) public class ProductType
{
public Guid ID { get; set }
public string Name { get; set }
public ICollection<ProductCategory> Categories { get; set }
}
public class ProductCategory
{
public Guid ID { get; set }
public string Name { get; set }
public ProductType ProductType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
ProductTypeConfiguration
HasMany(p => p.Categories).WithRequired().WillCascadeOnDelete(false);
Run Code Online (Sandbox Code Playgroud)
注意属性Categories和ProductType
关系是一个(ProductType)到很多(ProductCategory),但是,a ProductCategory与单个关联ProductType!
在我的数据库中它创建了两个FKS !! 如何配置(使用FluentAPI)这种情况?
谢谢!!!
我有一堆实体,我想以类似维基的方式列出,它们将按照标题的第一个字母进行组织,然后计算每个字母存在多少个实体.所以,像:
A(5)
B(7)
C(4)
等
不过,我不知道怎么做.粗糙的伪代码版本:
from g in Games select g.title, /* count */
where /* g.title.firstLetter */ ASC
Run Code Online (Sandbox Code Playgroud)
注释掉的部分是我被卡住的地方.有任何想法吗?
如何将我的LINQ查询结果作为特定对象返回
public CountryTable GetSelectedEventInfo(string SelectedEventID)
{
return (CountryTable) this.context.Event.Where(
e => e.EventID.Equals(Convert.ToInt32(SelectedEventID)));
}
Run Code Online (Sandbox Code Playgroud)
这是我的模特
public class CountryTable
{
public int EventID { get; set; }
public string Title { get; set; }
public DateTime Startdate { get; set; }
public DateTime EndDate { get; set; }
public string EventUrl { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
下面是我的数据库上下文
public DbSet<CountryTable> Event { get; set; }
Run Code Online (Sandbox Code Playgroud)
以下是我想要做的
public CountryTable GetSelectedEventInfo(string SelectedEventID)
{
return (CountryTable) this.context.Event.Where(
e => e.EventID.Equals(Convert.ToInt32(SelectedEventID)));
}
Run Code Online (Sandbox Code Playgroud)
我需要我的查询结果返回CountryTable类型的对象
考虑到最新版本的Entity框架与NHibernate相比,我是否应该使用NHibernate而不是最新版本的Entity框架?
是否存在当前版本的Entity框架未涵盖的Nhibernate功能?
谢谢
c# ×6
linq ×2
ado.net ×1
asp.net ×1
asp.net-mvc ×1
fluent ×1
nhibernate ×1
sql-order-by ×1
tolist ×1