问题列表 - 第48365页

使用LINQ检查数据库中是否存在表

我们有一个已部署到各种客户端的数据库.我们目前正在引入一个可选的新功能,该功能将要求希望该功能的客户将新表添加到现有数据库中.

正在我们推出一款新软件,无论是否有新表,都必须与数据库版本进行交互(因为我们不希望有2个版本用于拥有新表的客户和一个用于不是)我们想知道是否有可能以编程方式确定(使用实体框架)数据库中是否存在表(我可以尝试访问该表并让它抛出异常但是想知道是否有内置函数去做这个)

谢谢

编辑:鉴于人们告诉我我应该使用配置文件不检查EF,任何人都可以指导我如何检查配置文件,例如,mvc控制器的自定义数据注释.就像是:

[Boolean(Properties.Settings.Default.TableExists)]
public class NamedController : Controller
Run Code Online (Sandbox Code Playgroud)

如果错误,会抛出未找到的页面?

编辑2:根据人们给出的建议使用配置设置,我最终得到了以下解决方案

用于设置表是否存在的应用程序设置

<appSettings>
    <add key="tableExists" value="True"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)

自定义数据注释,以说明是否允许访问控制器

[AuthoriseIfTableExistsIsTrue]
public class NamedController : Controller
Run Code Online (Sandbox Code Playgroud)

自定义授权的代码

public class AuthoriseIfTableExistsIsTrue : AuthorizeAttribute
{
    private readonly bool _tableExists;

    public AuthoriseIfTableExistsIsTrue()
    {
        _tableExists = string.Equals(bool.TrueString, ConfigurationManager.AppSettings["tableExists"], StringComparison.InvariantCultureIgnoreCase);
    }

    public AuthoriseIfTableExistsIsTrue(bool authorise)
    {
        _tableExists = authorise;
    }

    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        if (_tableExists)
            return base.AuthorizeCore(httpContext);
        else
            throw new HttpException(404, "HTTP/1.1 404 Not Found");
    }
}
Run Code Online (Sandbox Code Playgroud)

感谢大家的帮助,并告诉我不要使用EF,而是使用配置设置

c# linq asp.net-mvc entity-framework

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

断言集合的顺序正确

如何在MSTest中断言返回的集合的顺序是否正确?

[TestMethod]
    public void when_sorting_movies_it_should_be_able_to_sort_all_movies_by_title_descending()
    {
        populateTestMovies(movie_collection);
        MovieLibrary movieLibrary = new MovieLibrary(movie_collection);
        IEnumerable<Movie> results = movieLibrary.sort_all_movies_by_title_descending();
        Assert.IsTrue(results.Contains(theres_something_about_mary));
        Assert.IsTrue(results.Contains(the_ring));
        Assert.IsTrue(results.Contains(shrek));
        Assert.IsTrue(results.Contains(pirates_of_the_carribean));
        Assert.IsTrue(results.Contains(indiana_jones_and_the_temple_of_doom));
        Assert.IsTrue(results.Contains(cars));
        Assert.IsTrue(results.Contains(a_bugs_life));
        Assert.AreEqual(7, results.Count());
    }
Run Code Online (Sandbox Code Playgroud)

c#

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

Android - 活动外的startActivityForResult?

我有一个包装类(BluetoothDiscoverer),它在服务中实例化.此类获取BluetoothAdapter并在扫描相邻设备之前检查是否启用了蓝牙.

现在,如果未启用蓝牙,我希望能够在此类(BluetoothDiscoverer)中执行以下操作:

Intent enableBluetoothIntent  = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);

startActivityForResult(enableBluetoothIntent, BLUETOOTH_ENABLER);
Run Code Online (Sandbox Code Playgroud)

现在我已经读过这个:从非活动中使用startActivityForResult

但是我不想将我的主要活动传递给这个对象,因为我想在BluetoothDiscoverer类中处理结果(用户是否接受启用蓝牙).

现在如果我使BluetoothDiscoverer成为Activity的子类

当startActivityForResult即将被调用时,我似乎得到了一个N​​ullPointerException.

我认为这是因为我需要添加一个onCreate()/ onDestroy()方法,但这违背了我正在做的目的,因为我需要能够在实例化该类的服务中调用BluetoothDiscoverer对象上的方法.

我还需要注册广播接收器,以便在启动扫描时检索相邻设备.如果BluetoothDiscoverer类不是Activity,我该如何注册此接收器?

有没有解决这个问题?

谢谢安德烈亚斯

service android bluetooth android-activity

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

PHP(Codeigniter)电子邮件帮助

我正在尝试使用Codeigniters电子邮件类将模板加载到电子邮件中,但是我收到的电子邮件是黑色的,有人可以告诉我为什么吗?以下是我的代码,

if($this->session->userdata('group_id') == '1') {
                $data['key'] = $insertUser['activation_key'];
                $data['name'] = $insertUser['name'];
                $config = array(
                  'protocol' => 'smtp',
                  'smtp_host' => 'ssl://smtp.googlemail.com',
                  'smtp_port' => 465,
                  'smtp_user' => '*********',
                  'smtp_pass' => '********',
                  'mailtype' =>'html'
                );
                $this->load->library('email', $config);
                $this->email->set_newline("\r\n");

                $this->email->from('no-reply@email.com', 'Email');
                $this->email->to($insertUser['email']);

                $this->email->subject('Your employers account');
                $this->email->message($this->load->view('emails/signup', $data));


                if (!$this->email->send())
                  show_error($this->email->print_debugger());
                else
                  redirect('admin/users');
            }
Run Code Online (Sandbox Code Playgroud)

php email codeigniter

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

关于强名称验证跳过的奇怪问题

我的ASP.NET应用程序使用的是没有强名称的程序集.当我在IE中运行它时,它显示错误说:

无法加载文件或装配'xxxxx'.或其中一个依赖项.强名称signatuer无法验证.程序集可能已被篡改,或者是延迟签名但未使用正确的私钥完全签名.(HRESULT异常:0x80131045)"

sn.exe -Vr xxxx用来注册该程序集以跳过强名称验证,但它仍显示该错误.什么可能导致这个问题,我可以做些什么来解决它?

.net asp.net strongname assemblies

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

通过几个步骤修剪旧备份

我正在寻找一种方法来精简旧备份。备份每天运行,我想随着备份变旧而增加间隔。

几天后,我想删除每日备份,只留下“周日”备份。几周后,仅应删除一个月中可用的第一个备份。

由于我正在处理历史备份,因此我不能只更改命名方案。

我尝试使用“查找”来查找,但找不到正确的选项。

有人有什么可以帮忙的吗?

linux backup

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

如何将Unicode转换为使用JavaScript在网页中显示的字符?

例如:

如果我有一个Unicode字符串:\ u4E45

我想用JavaScript将这个角色显示在网页上.我能怎么做?

我的第二个问题是,如果我有一个汉字:依

我想用JavaScript获取它的Unicode(\ u4F9D).我能怎么做?

非常感谢你!

javascript unicode

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

是否有快速算法来合并已排序的B +树?

我正在编写一个dbm样式的数据库管理器,其中包含不可变的B + Trees作为存储介质(请参阅http://sf.net/projects/aodbm/).是否存在用于合并两个B +树的快速算法(树可能共享节点)?

algorithm tree data-structures

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

如何将winform的自动滚动定位在顶部?

如何将winform的自动滚动定位在顶部?目前它会自动滚动到表单底部。

c# winforms

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

通过传递名称来获取和设置字段值

我在类中有一个字段,其随机名称如下:

class Foo {
    public string a2de = "e2"
}
Run Code Online (Sandbox Code Playgroud)

我在另一个变量中有这个字段的名称,如:

string vari = "a2de"
Run Code Online (Sandbox Code Playgroud)

我可以a2de使用值来获取或设置字段的值vari吗?

喜欢:

getvar(vari)
Run Code Online (Sandbox Code Playgroud)

要么

setvar(vari) = "e3"
Run Code Online (Sandbox Code Playgroud)

c# reflection field

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