我有一个托管在 Azure 中的 MySQL 数据库,我通过笔记本电脑中的 MySQL Workbench 访问它。关键是,当我想执行某些命令时,我收到错误消息,说我没有足够的权限。我尝试访问 MySQL Workbench 中的“用户和权限”部分,但收到消息说:
您当前使用的帐户没有足够的权限来更改 MySQL 用户和权限。
我在哪里可以授予超级用户权限,以便我可以执行 MySQL Workbench 中的每个命令?
我有一个使用个人身份验证的MVC5应用程序,当然还有ASP.NET身份.关键是我扩展了我有一个继承自ApplicationUser的模型,它只是这样定义:
public class NormalUser : ApplicationUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
所以,重点是,首先我想检查是否有登录用户,如果有,我想获得他/她的FirstName,LastName和Email字段.我怎样才能实现它?
我想我需要使用这样的东西来检查是否有登录用户:
if (Request.IsAuthenticated)
{
...
}
Run Code Online (Sandbox Code Playgroud)
但是,如何为当前用户获取这些特定字段的值?
我有一个MVC 5应用程序,它在Azure中托管了MySQL数据库.它运行良好,但今天当我尝试键入Update-Database并运行它时,我收到以下错误消息:
System.Runtime.Serialization.SerializationException: Type is not resolved for member 'MySql.Data.MySqlClient.MySqlException,MySql.Data, Version=6.9.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'.
at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
at System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner)
at System.Data.Entity.Migrations.Design.ToolingFacade.Update(String targetMigration, Boolean force)
at System.Data.Entity.Migrations.UpdateDatabaseCommand.<>c__DisplayClass2.<.ctor>b__0()
at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Type is not resolved for member 'MySql.Data.MySqlClient.MySqlException,MySql.Data, Version=6.9.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'.
Run Code Online (Sandbox Code Playgroud)
可能是什么问题,我该如何解决?
我有两个模型,其中两个都包含ICollection对象,如下所示:
public class Business : ApplicationUser
{
...
public virtual ICollection<Subcategory> Subcategories { get; set; }
...
}
public class Request
{
....
public virtual ICollection<Subcategory> Subcategories { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
我想查询业务并获得其子类别与请求中的子类别匹配的业务(即使一个匹配就足够了).我有类似的东西,我只是作为样本编写,当然它不起作用(请求类型为Request):
foreach (var subcategory in request.Subcategories)
{
var businesses = db.Users
.OfType<Business>()
.Where(b => b.Subcategories
.Where(s => s.SubcategoryName == subcategory.SubcategoryName));
}
Run Code Online (Sandbox Code Playgroud)
因此,举例来说,假设我们有两个企业,第一个有足球和篮球作为子类别,第二个有篮球和网球.然后,假设我们的用户选择了足球和网球子类别,所以我的查询应该返回两个商家,因为第一个包括足球,第二个包括网球.
因此,并非每个子类别都应该匹配,即使一个匹配也足以接受业务.我怎样才能实现它?如果你能提供代码,我会很高兴.
这里也是我的子类别模型,如果你需要它:
public class Subcategory
{
public int SubcategoryID { get; set; }
public string SubcategoryName { get; set; }
}
Run Code Online (Sandbox Code Playgroud) 我有一个MVC5应用程序,它使用Azure中托管的MySQL数据库.关键是当我通过CDBR端点访问它时它工作正常,但我需要连接到使用端口3310的数据库主服务器,而不像CDBR使用的临时3306.无论如何,我可以在哪里提供数据库主机的端口号?
目前我的连接字符串看起来像这样:
<add name="DefaultConnection" providerName="MySql.Data.MySqlClient" connectionString="Database=dbname;Data Source=hostname;User Id=username;Password=password" />
Run Code Online (Sandbox Code Playgroud) 我有一个像这样定义的表.ProviderId主键在哪里,StateID是外键,来自另一个表.它在我的笔记本电脑上运行,因此,它是一个本地数据库.在我的表中,我有大约900万条目.我运行以下命令为表创建一个新索引:
CREATE INDEX name_addr ON providers (ProviderName, Address, StateID, Zip);
Run Code Online (Sandbox Code Playgroud)
它运行大约10分钟,我收到此错误消息:
Error Code: 2013. Lost connection to MySQL server during query - 600.547 sec
Run Code Online (Sandbox Code Playgroud)
我检查了我的日志,结果如下:
150226 13:07:31 12 Query CREATE INDEX name_addr ON providers (ProviderName, Address, StateID, Zip)
150226 13:17:32 13 Connect root@localhost on
13 Query set autocommit=1
13 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
13 Query SHOW SESSION VARIABLES LIKE 'lower_case_table_names'
13 Query SELECT current_user()
13 Query SET CHARACTER SET utf8 …Run Code Online (Sandbox Code Playgroud) 我有一个像这样定义的动作:
public ActionResult TempOutput(string model)
{
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
而且,我的视图定义如下:
@model String
@{
ViewBag.Title = "TempOutput";
}
<h2>TempOutput</h2>
<p>@Model</p>
Run Code Online (Sandbox Code Playgroud)
然后,在一个地方,我有一个这样的return语句:
return RedirectToAction("TempOutput", "SEO", new { model = "Tester text" });
Run Code Online (Sandbox Code Playgroud)
关键是当我到达TempOutput视图时,我收到一条错误消息,说"未找到视图'测试人员文本'或其主人,或者没有视图引擎支持搜索到的位置." 但我想在我的视图中打印字符串的值.我怎样才能实现它?
asp.net-mvc ×4
c# ×4
mysql ×4
azure ×3
database ×2
collections ×1
linq ×1
privileges ×1
superuser ×1