The below Console Application code explains you how to read SharePoint Managed Metadata Look-up (Taxonomy Field) value using Client Object Model.
using System;
using System.Text;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Taxonomy;
namespace CSOMRnD {
class Program {
static void Main(string[] args) {
using(ClientContext context = new ClientContext("SiteURL")) {
context.ExecutingWebRequest += new EventHandler(clientContext_ExecutingWebRequest);
context.AuthenticationMode = ClientAuthenticationMode.Default;
context.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
List list = context.Web.Lists.GetByTitle("ListName");
CamlQuery query = new CamlQuery();
query.ViewXml = "pass your query";
ListItemCollection items = list.GetItems(query);
context.Load(items);
context.ExecuteQuery();
foreach(ListItem item in items) {
StringBuilder sb_ProductFieldValue = new StringBuilder();
TaxonomyFieldValueCollection taxProductFieldValueColl = item["Product"] as TaxonomyFieldValueCollection;
if (taxProductFieldValueColl != null) {
foreach(TaxonomyFieldValue taxProductFieldValue in taxProductFieldValueColl) {
if (taxProductFieldValue.Label.Trim() != null) sb_ProductFieldValue.Append(taxProductFieldValue.Label + "|");
else sb_ProductFieldValue.Append("Empty");
}
}
Console.WriteLine(sb_ProductFieldValue.ToString());
}
Console.ReadLine();
}
}
static void clientContext_ExecutingWebRequest(object sender, WebRequestEventArgs e) {
e.WebRequestExecutor.WebRequest.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
}
}
}