我在xamarin上使用实体框架构建应用程序,我在其中比较一些数据。但是当我启动我的“ fetchdata”功能时,我收到错误消息:
e : nat -> Set
现在我的孔设置准备就绪了,我看到了很多有关xamarin / android的帖子,并且无法连接到SqlServer。但是时间过去了,所以我希望有可能。
是否可以通过xamarin在具有.net核心的sqlServer中获取数据?
答案 0 :(得分:0)
是的,有可能(HuurrAYY!): 我是.net核心,C#等的新手,对我来说,要使其正常工作真是难上加难。 因此,这里有其他寻求帮助的菜鸟:
我使用的指南: 使用实体框架构建Android应用 https://medium.com/@yostane/data-persistence-in-xamarin-using-entity-framework-core-e3a58bdee9d1 https://blog.xamarin.com/building-android-apps-entity-framework/
脚手架 https://cmatskas.com/scaffolding-dbcontext-and-models-with-entityframework-core-2-0-and-the-cli/
我是怎么做到的:
侧面节点:每个解决方案中都需要NuGet:
[编辑:每种解决方案都需要NuGet]
答案 1 :(得分:0)
这是我使用Sql_Common.cs放入SQL_Class文件夹中的字符串
用实际参数填充支架托架(也要卸下支架制动器)。
public static string SQL_connection_string = @"data source={server_address};initial catalog={database_name};user id={user_id};password={password};Connect Timeout={seconds}";
然后,只要需要,我就可以从任何xamarin代码中访问它,就像在asp.net c#中使用的那样 这对我的应用程序没有任何问题。
using (SqlConnection Sql_Connection = new SqlConnection(Sql_Common.saralEHR_connection_string))
但是正如@Jason在他的第一个答复中提到的那样,我也将再次获得安全性部分的确认。我在将Package发布到Google Play之前经验丰富,他们使用哈希密钥代码对App文件进行加密,然后将其上传到服务器
答案 2 :(得分:0)
我正在这样做(工作片段):
string connectionString = @"data source={server};initial catalog={database};user id={user};password={password};Connect Timeout=10";
string databaseTable = "{table name}";
string selectQuery = String.Format("SELECT count(*) as Orders FROM {0}", databaseTable);
try
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
//open connection
connection.Open();
SqlCommand command = new SqlCommand(selectQuery, connection);
command.Connection = connection;
command.CommandText = selectQuery;
var result = command.ExecuteScalar().ToString();
//check if there is result
if(result != null)
{
OrdersLabel.Text = result;
}
}
}
catch (Exception ex)
{
OrdersLabel.Text = ex.Message;
}
它工作正常,但API调用更加优雅。 希望对您有所帮助。