小编Fla*_*ack的帖子

SaveChanges(EF数据库优先)后属性未更新

首先,我想说我读了相关帖子(特别是EF 4.1 SaveChanges没有更新导航或参考属性,实体框架代码优先 - 为什么我不能用这种方式更新复杂属性?Entity Framework 4.1 RC(代码优先) - 实体不通过关联更新).

但是,我无法解决我的问题.我对Entity Framework很新,所以我想我一定是误解了这些帖子的答案.无论如何,我真的很感激有人可以帮助我理解,因为我很困惑.

我有两张桌子:

  • Person
  • Item有一个可空PersonId和一个Type

项目可以拥有所有者,也可以不拥有.因此,Person具有ItemsIEnumerable的属性Item.

一个人只能Item按类型拥有一个.如果该人想要改变,他可以用他的物品中任何其他相同类型的物品替换他当前的物品:

public class MyService
{
    private PersonRepo personRepo = new PersonRepo();
    private ItemRepo itemRepo = new ItemRepo();

    public void SwitchItems(Person person, Guid newItemId)
    {
        using (var uof = new UnitOfWork())
        {
            // Get the entities
            Item newItem = itemRepo.Get(newItemId);
            Item oldItem = person.Items.SingleOrDefault(i => i.Type == …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

11
推荐指数
1
解决办法
6501
查看次数

ORA-00918:"列模糊定义"

我一直试图理解为什么Oracle会在几天内提出这个错误,但找不到任何能帮助我阅读所有相关主题的解决方案.我希望有人会帮助我.我正在研究这个问题:

SELECT distinct c.NAME, c.SUPERVISIONNAME, c.INTERNALADDRESS, c.IM, c.ID, c.LINK, c.IW, d.NAME, t.NAME
FROM "CONCENTRATOR" c
LEFT OUTER JOIN "CONCENTRATOR_GROUP" USING(CONCENTRATOR_ID)
LEFT OUTER JOIN "GROUP" g USING(GROUP_ID)
LEFT OUTER JOIN "TYPE" t USING(TYPE_ID)
LEFT OUTER JOIN "DEPARTMENT" d USING(DEPARTMENT_ID)
WHERE TRIM(UPPER(t.NAME)) = 'type'
ORDER BY im DESC, id DESC, link DESC, iw DESC, TRIM(UPPER(d.name)) ASC, TRIM(UPPER(c.name)) ASC;
Run Code Online (Sandbox Code Playgroud)

这在SQL Developer上完全正常,但在Java中运行时会引发此错误:

java.sql.SQLSyntaxErrorException: ORA-00918: column ambiguously defined

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884)
at …
Run Code Online (Sandbox Code Playgroud)

java sql oracle hibernate jpa

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

按枚举说明排序

我首先使用EF代码编写ASP.NET MVC项目,我面临的情况是需要通过枚举描述进行排序:

public partial class Item
{
    public enum MyEnumE
    {
        [Description("description of enum1")]
        Enum1,
        [Description("description of enum2")]
        Enum2,
        ...
    }

    public MyEnumE MyEnum { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是SearchSortAndPaginate功能:

public async Task<IPagedList<Item>> Search(ItemCriteria criteria, SortableTypeE sortName, SortOrder.TypeE sortOrder, int pageNb)
    {
        var itemFilter = GenerateFilter(criteria);
        var items = entities.Items.Where(itemFilter);

        return await SortAndPaginate(items, sortName, sortOrder, pageNb);
    }

    private async Task<IPagedList<Item>> SortAndPaginate(IQueryable<Item> items, SortableTypeE sortName, SortOrder.TypeE sortOrder, int pageNb)
    {
        IOrderedQueryable<Item> result = null;

        switch (sortName)
        { …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net-mvc entity-framework

3
推荐指数
2
解决办法
2051
查看次数

在 linq toEntity where 子句中建立两个列表之间的链接

我对如何在 Linq to Entities 中链接两个列表感到Linq很困惑。EF

我首先使用数据库,并且有两个表:

Person,带有列Id

Ability,带有列IdPersonId并且Value

因此,Person类有一个ICollection<Ability>, 称为AllAbilities.

在某些视图的 ViewModel 中,我返回一个 int 列表,表示用户输入的文本框值Ability.Value,称为AbilitiesInput。我的需求很简单,在控制器中我必须调用一个查询来执行以下操作:

GetAll(person =>
    for(i = 0; i < AbilitiesCount; i++) { person.AllAbilities[i] > AbilitiesInput[i] }
)
Run Code Online (Sandbox Code Playgroud)

其中GetAll方法看起来像我的通用存储库中的那样:

public virtual async Task<List<TEntity>> GetAll(
        Expression<Func<TEntity, bool>> wherePredicate = null
{ ... }
Run Code Online (Sandbox Code Playgroud)

要继续,我只需要一个布尔值,它可以检查 every 是否AllAbilities[i]高于AbilitiesInput[i],但我尝试的任何方法都不起作用。
我尝试更改AbilitiesInputList<KeyValuePair>or …

c# linq entity-framework

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

标签 统计

c# ×3

entity-framework ×3

linq ×2

asp.net-mvc ×1

hibernate ×1

java ×1

jpa ×1

oracle ×1

sql ×1