我有兩個模型與一個外鍵,User和Farm連接。ADO.NET MVC查詢外鍵
我希望能夠選擇一個用戶使用查詢和類型:
@Model.Farm.FarmId
在我看來。這不會工作,因爲農場道具爲空。
這是我的兩個型號:
模型1:
public class User
{
[Key]
public int UserId { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string PasswordSalt { get; set; }
public int Money { get; set; }
public int FarmId { get; set; }
[ForeignKey("FarmId")]
public virtual Farm Farm { get; set; }
}
模型2:
public class Farm
{
public Farm()
{
User = new HashSet<User>();
}
[Key]
public int FarmId { get; set; }
public DateTime Created { get; set; }
public int Age { get; set; }
public virtual ICollection<User> User { get; set; }
}
獲得用戶查詢:
public User GetUser(string userName)
{
string sql = "SELECT * FROM Users WHERE UserName = @UserName";
User user = null;
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
try
{
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.AddWithValue("@userName", userName);
connection.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
user = new User
{
UserId = (int)rdr["UserId"],
UserName = (string)rdr["UserName"],
Password = (string)rdr["Password"],
PasswordSalt = (string)rdr["PasswordSalt"],
Money = (int)rdr["Money"],
FarmId = (int)rdr["FarmId"],
Farm ??????
};
}
if (rdr != null)
rdr.Close();
}
catch
{
}
}
return user;
}
我的猜測是我必須做一些加盟的,對不對?我仍然是一個查詢新手,所以請耐心等待我:)
我不想使用LINQ!
謝謝!
你試圖使用實體框架或裏面的東西相似...沒有實際使用它? – 2014-10-26 14:34:23
對不起,你的意思是?我用CodeFirst使用實體框架創建了我的數據庫。現在即時嘗試使用查詢來訪問這個數據庫中的數據,而不是LINQ。 – Reft 2014-10-26 14:36:19
使用Linq [。](http://stackoverflow.com/questions/26574049/ado-net-mvc-query-foreign-key?noredirect=1#comment41765855_26574049) – 2014-10-26 14:36:57