问题列表 - 第217537页

linq如何实际执行代码以从数据源检索数据?

我将很快开始研究xamarin,并将把很多代码从android studio的java转移到c#.

在java中我使用自定义类,它们被赋予参数条件等,将它们转换为SQL语句,然后将结果加载到项目模型中的对象

我不确定的是,linq是过滤此类数据的更好选择.

例如,目前会发生的事情就是沿着这些方向发展

List<Customer> customers = (new CustomerDAO()).get_all()
Run Code Online (Sandbox Code Playgroud)

或者,如果我有条件

List<Customer> customers = (new CustomerDAO()).get(new Condition(CustomerDAO.Code, equals, "code1")
Run Code Online (Sandbox Code Playgroud)

现在让我们假设我已经将类转移到了c#,我希望做一些类似于第二种情况的方法.

所以我可能会写下以下内容:

var customers = from customer 
    in (new CustomerDAO()).get_all() 
    where customer.code.equals("code1")
    select customer
Run Code Online (Sandbox Code Playgroud)

我知道查询只会在我实际尝试访问客户时执行,但如果我有多次访问客户(让我们说我稍后使用4个foreach循环),get_all方法会被调用4次吗?或者是第一次执行时存储的结果?

它是否更有效(时间明智,因为内存方面可能不是)只保留get_all()方法并使用linq过滤结果?或者使用我现有的设置实际执行

Select * from Customers where code = 'code1'
Run Code Online (Sandbox Code Playgroud)

并将结果加载到对象?

提前感谢您提供的任何帮助

编辑:是的我知道有sqlite.net几乎可以做我的daos做但可能更好,并且在某些时候我可能会转换我的所有对象来使用它,我只需要知道为了知道

c# linq

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

数字海洋上的自动调查工作者

我有3个Web服务器.DB,WebWorker.工人整天都在处理sidekiq流程.

一旦队列超过100,000个工作岗位,我想拥有第二个工人实例,并且我正在努力思考如何做到这一点.(如果队列超过300.000,我需要3名工人,一次又一次).

  • Worker拍了拍快照.
  • 通过Digital-Ocean :: API我将基于该图像创建一个新实例.
  • 实例启动后,需要从Git-Repository更新代码
  • 我需要告诉数据库服务器允许它从这个实例IP接收连接

  • 一旦队列低于20.000,我就可以杀死我的实例.

这是正确的做法还是有更好的方法?我错过了什么吗?

附加问题:

DB我只有MySQL和Redis的.没有红宝石或其他任何东西.所以也没有铁轨运行.如果我worker决定创建另一个worker,那么新的worker需要访问mysql.似乎无法从远程计算机创建一些访问权限,它看起来我需要从数据库服务器创建访问权限.

mysql> show grants;
+-----------------------------------------------------------------------------------------+
| Grants for rails@162.243.10.147                                                         |
+-----------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'rails'@'162.243.10.147' IDENTIFIED BY PASSWORD <secret> |
| GRANT ALL PRIVILEGES ON `followrado`.* TO 'rails'@'162.243.10.147'                      |
+-----------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> CREATE USER 'rails'@'162.243.243.127' IDENTIFIED BY 'swag';
ERROR 1227 (42000): Access denied; you need (at least one …
Run Code Online (Sandbox Code Playgroud)

digital-ocean

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

子文件夹 DJANGO 中的 BASE_DIR 输出

自从我将settings.py文件更改为子文件夹“设置”中的 3 个不同文件(即基本文件、本地文件和生产文件)后,BASE_DIR将无法正确显示项目路径。

我希望 BASE_DIR 输出的内容如下:

`PathToProject/Projectname`
Run Code Online (Sandbox Code Playgroud)

我得到了什么(因为我在 base.py 中的“设置”子文件夹中移动了 BASE_DIR:

PathToProject/Projectname/Projectname

这让我很困扰,因为现在它正在寻找其中的static文件夹Projectname/Projectname而不是Projectname

我怎样才能正确配置 BASE_DIR 函数来为我提供正确的项目路径?

python django

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

如何在MaterialBetterSpinner库上实现onItemSelected

我在我的应用程序中实现了以下库微调器,即来自xml

<com.weiwangcn.betterspinner.library.material.MaterialBetterSpinner
        android:id="@+id/insurer_code"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/hint_insurer_code"
        android:textColor="@color/smart_primary"
        android:textColorHint="@color/input_register_hint"
        app:met_floatingLabel="normal" />
Run Code Online (Sandbox Code Playgroud)

和java代码

public class testActivity extends Activity implements OnItemSelectedListener

@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {

    Toast.makeText(adapterView.getContext(), "Selected: " , Toast.LENGTH_LONG).show();
    // On selecting a spinner item
    String item = adapterView.getItemAtPosition(i).toString();
    // Showing selected spinner item
    Toast.makeText(adapterView.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show();

}
Run Code Online (Sandbox Code Playgroud)

但是当从菜单中选择一个项目时,onItemSelected不会启动.有关如何成功实施上述图书馆的任何指导将不胜感激.

android spinner material

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

至少将列表中的元素保留在一定距离 - 在循环时更改迭代器 - Python

正如标题所示,我开发了一个函数,给定一个ORDERED升序列表,你只保留距离至少为k个周期的元素,但它会在循环时动态改变迭代器.我被告知这应该像瘟疫一样被避免,尽管我并不完全相信为什么这是一个如此糟糕的想法,但我相信那些我一直倾向于接受培训的人,因此就如何寻求建议避免这种做法.代码如下:

import pandas as pd
from datetime import days
a = pd.Series(range(0,25,1), index=pd.date_range('2011-1-1',periods=25))
store_before_cleanse = a.index

def funz(x,k):
    i = 0
    while i < len(x)-1:
        if (x[i+1]-x[i]).days < k:
            x = x[:i+1] + x[i+2:]
            i = i-1
        i = i + 1
    return x

print(funz(store_before_cleanse,10))
Run Code Online (Sandbox Code Playgroud)

您认为可以做些什么来避免它?ps:不要担心没有订购列表的解决方案.将给出的列表将始终以升序方式排序.

python iterator

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

在离散ggplot x轴的两侧添加不同数量的额外空间

我有一个带有离散x轴的图,我想调整比例尺两侧的多余空间,使其在左侧变小,在右侧变大,因此长标签将适合。scale_x_discrete(expand=c(0, 1))在这里不是我的朋友,因为它总是同时在两侧工作。这个问题是相似的,但是解决了连续的规模问题。

我该如何实现?

set.seed(0)
L <- sapply(LETTERS, function(x) paste0(rep(x, 10), collapse=""))
x <- data.frame(label=L[1:24], 
                g2 = c("a", "b"),
                y = rnorm(24))
x$g2 <- as.factor(x$g2)
x$xpos2 <- as.numeric(x$g2) + .25

# two groups
ggplot(x, aes(x=g2, y=y)) + 
  geom_boxplot(width=.4) +
  geom_point(col="blue") +
  geom_text(aes(x=xpos2, label=label, hjust=0)) 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

r ggplot2

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

Laravel 5 - 使用Mockery模拟Eloquent模型

一直在寻找互联网,但似乎没有找到我的问题的答案.我一直在使用PHPUnit和Mockery来测试Laravel中的控制器.但是,我似乎没有正确地模拟我的基于Eloquent的模型.我确实设法以相同的方式模拟我的Auth :: user(),尽管在下面的测试中没有使用它.

需要测试的AddressController中的函数:

public function edit($id)
{
    $user = Auth::user();
    $company = Company::where('kvk', $user->kvk)->first();
    $address = Address::whereId($id)->first();

    if(is_null($address)) {
        return abort(404);
    }

    return view('pages.address.update')
        ->with(compact('address'));
}
Run Code Online (Sandbox Code Playgroud)

ControllerTest包含setUp和mock方法

abstract class ControllerTest extends TestCase
{
    /**
     * @var \App\Http\Controllers\Controller
     */
    protected $_controller;

    public function setUp(){
        parent::setUp();
        $this->createApplication();
    }

    public function tearDown()
    {
        parent::tearDown();
        Mockery::close();
    }

    protected function mock($class)
    {
        $mock = Mockery::mock($class);
        $this->app->instance($class, $mock);
        return $mock;
    }
}
Run Code Online (Sandbox Code Playgroud)

AddressControllerTest扩展ControllerTest

class AddressControllerTest extends ControllerTest
{
    /**
     * @var \App\Models\Address
     */
    private $_address; …
Run Code Online (Sandbox Code Playgroud)

php unit-testing laravel eloquent mockery

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

如何检查字符串的排列(或部分)是否在列表(字典)中?

我为 Scrabble 编写了一个简单的搜索应用程序。从字符串中找出所有可能的单词。置换部分完成。我创建了一个函数 Permute(string) ,它输出一个包含所有排列的数组。

var dictionary=["abc","abcd",ab","dhgd","adbft"];

var input="abcd";
    output=Permute(input);
    //result:
    0:"abcd"
    1:"abdc"
    2:"acbd"
    3:"acdb"
    4:"adbc"
    5:"adcb"
...etc
Run Code Online (Sandbox Code Playgroud)

现在,我必须检查单词是否存在。我应该尝试所有长度吗?还有其他更有效的方法吗?

    //Check all the item of the output array
    for(var i=0; i<output.length;i++){
        //Check if all length of output
        for(var j=2;j<output[i].length;i++)
            //Check all these possibilities if they exist in the dictionary
            for(word in dictionary){
                output[i].substring[1:j]==dictionary[word];
}

    }};
Run Code Online (Sandbox Code Playgroud)

我真的无法想象如果字典是 250 000 个单词会多长时间......有没有更好的方法?

javascript algorithm

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

单元测试在构建服务中失败但在本地不是

我的构建服务中的两个测试失败,在本地运行时不会失败.

我发现当我在mvn clean test本地执行时,我的测试类的排序顺序是按字母顺序排列的(包和类),但是当在构建服务中运行时,它们看起来是随机的.

我不打算需要一个特定的"订单",所以我绝对担心一个测试先于另一个测试暗示了一个隔离问题.但是,我认为我不能告诉maven按特定顺序运行类.

我该怎么做才能重现?

编辑

我克隆了我的构建计划,但指着一个分叉的仓库(相同的代码),它成功运行,没有失败的测试...

java junit spring bamboo

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

EPPlus可以区分Excel工作表中的空白单元格和空白文本单元格吗?

我正在使用EPPlus .NET库(v4.0.4)来解释已保存的Excel工作簿。在一个这样的工作表中,使用Excel的“撇号”技巧将一些空单元格设置为“文本”格式(也就是说,用户在这些单元格中输入了一个撇号,以便Excel将其显示为空白)。

两个此类单元格的示例XML如下:

  <c r="F6" s="1" t="inlineStr">
    <is>
      <t />
    </is>
  </c>
  <c r="G6" s="1" />
Run Code Online (Sandbox Code Playgroud)

在此,F6带有撇号(即是一个空的文本单元格),而G6则真正是空白的。

是否可以inlineStr使用EPPlus 读取此“内联字符串”()属性或以其他方式区分这两个单元格?所述ExcelRange / ExcelRangeBase类具有如特性ValueFormulaStyle等,但检查表示所述两个小区以上也看不出它们之间的任何差异对象时。

我知道我可以通过读取原始XML或使用替代库(也许是ClosedXML或类似库)来手动完成此操作,但是如果可能的话,我想使用EPPlus来执行此操作。

.net c# excel openxml epplus

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