小编Apu*_*pta的帖子

实体框架正在执行太多查询

我需要找到特定用户的不同广告系列.用户拥有CodeRights,CodeRights包含包含Campaign的代码和代码.这是CodeRight类

public class SmartCodeRight
{
        [Key, Column(Order = 1)]
        public long UserId { get; set; }
        public virtual User User { get; set; }

        [Key, Column(Order = 2)]
        public long CodeId { get; set; }
        public virtual SmartCode Code { get; set; }

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

我会为此编写以下SQL:

SELECT * 
FROM campaigns 
WHERE campaignid IN (SELECT DISTINCT campaignid  
                     FROM smartcodes t1 
                     INNER JOIN smartcoderights t2 ON t1.codeId = t2.codeId
                     WHERE t2.userid = @userId)
Run Code Online (Sandbox Code Playgroud)

使用EF我正在写这段代码:

var v …
Run Code Online (Sandbox Code Playgroud)

c# sql-server asp.net-mvc performance entity-framework

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

旋转更改时切换Android导航抽屉的DrawerLockMode.

我正在关注这篇文章http://derekrwoods.com/2013/09/creating-a-static-navigation-drawer-in-android/

我希望在横向模式下打开抽屉.这是我的onCreate函数.

@Override
protected void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    setContentView(R.layout.activity_order);

    drawerList = (ListView) findViewById(R.id.left_drawer);

    drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

    FrameLayout frameLayout = (FrameLayout) findViewById(R.id.content_frame);

    if (((ViewGroup.MarginLayoutParams) frameLayout.getLayoutParams()).leftMargin == (int) getResources()
            .getDimension(R.dimen.drawer_size)) {
        drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);
        drawerLayout.setScrimColor(Color.TRANSPARENT);
        isDrawerLocked = true;
    }

    // Set the adapter for the list view
    // drawerItems = getResources().getStringArray(R.array.drawerOptions);
    drawerItems = DummyContent.ITEMS
            .toArray(new DummyItem[DummyContent.ITEMS.size()]);
    drawerList.setAdapter(new ArrayAdapter<DummyItem>(this,
            android.R.layout.simple_list_item_1, drawerItems));
    drawerToggle = new ActionBarDrawerToggle(this, drawerLayout,
            R.drawable.ic_drawer, R.string.action_short,
            R.string.action_short) {

        /** Called when a drawer has settled in a completely closed state. …
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer drawerlayout

4
推荐指数
2
解决办法
3352
查看次数